ERROR: out of memory?

Hi,

I got following error messages. Could you please help me which postgres.conf setting issues the error (Server has 92GB RAM):

2015-11-25 16:20:07.096 CET servernameOfApplServer username DB-Server-IP(46233) 3438 5654df7d.d6eERROR: out of memory
2015-11-25 16:20:07.096 CET servernameOfApplServer username DB-Server-IP(46233) 3438 5654df7d.d6eSTATEMENT: FETCH FORWARD 32 IN curs_139710847633744
2015-11-25 16:20:07.096 CET servernameOfApplServer username DB-Server-IP(46233) 3438 5654df7d.d6eERROR: current transaction is aborted, commands ignored until end of transaction block
2015-11-25 16:20:07.096 CET servernameOfApplServer username DB-Server-IP(46233) 3438 5654df7d.d6eSTATEMENT: CLOSE curs_139710847633744
2015-11-25 16:20:33.543 CET servernameOfApplServer username DB-Server-IP(46206) 3123 5654dbe2.c33ERROR: out of memory
2015-11-25 16:20:33.543 CET servernameOfApplServer username DB-Server-IP(46206) 3123 5654dbe2.c33STATEMENT: FETCH FORWARD 32 IN curs_139710680390784
2015-11-25 16:20:33.543 CET servernameOfApplServer username DB-Server-IP(46206) 3123 5654dbe2.c33ERROR: current transaction is aborted, commands ignored until end of transaction block
2015-11-25 16:20:33.543 CET servernameOfApplServer username DB-Server-IP(46206) 3123 5654dbe2.c33STATEMENT: CLOSE curs_139710680390784


[root@DBServer ]# free -m
total used free shared buffers cached
Mem: 96743 96434 308 0 209 92003
-/+ buffers/cache: 4221 92521
Swap: 4091 33 4058


#Postgres.conf (Server has 92GB RAM)
listen_addresses = ‘*’
port = 5432
max_connections = 1000
superuser_reserved_connections = 20
shared_buffers = 3GB
max_prepared_transactions = 2000
work_mem = 32MB
maintenance_work_mem = 256MB
max_stack_depth = 8MB
wal_buffers = 128kB
checkpoint_segments = 50
checkpoint_completion_target = 0.9
archive_mode = on
wal_level = archive
archive_command = '/etc/dbbackup/wal-archiver.sh %p %f ’
archive_timeout = 1800
effective_cache_size = 65GB
default_statistics_target = 1000
cursor_tuple_fraction = 1.0
log_destination = ‘stderr’
logging_collector = on
log_directory = ‘pg_log’
log_filename = ‘postgresql-%Y-%m-%d.log’
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 0
log_temp_files = 0
log_min_duration_statement = 5000
log_line_prefix = ‘%m %d %u %r %p %c’
log_timezone = ‘Europe/Vienna’
datestyle = ‘iso, mdy’
timezone = ‘Europe/Vienna’
lc_messages = ‘en_US.UTF-8’
lc_monetary = ‘en_US.UTF-8’
lc_numeric = ‘en_US.UTF-8’
lc_time = ‘en_US.UTF-8’
default_text_search_config = ‘pg_catalog.english’

Please let me know if you could find any other tuning recommendations in the postgres.conf.

Thank you and best regards!

When I try following statement I got another error. Could it be in case of a “wrong” character in one tuple (MS SQL was migrated to postgres)?

select x from y;
ERROR: invalid memory alloc request size 18446744073709551613

Answer would be fine in English or German.
Thank you!

I got this error message just on following tuples. All other row selects work fine:

select x from y limit 1 offset 297417;
select x from y limit 1 offset 297421;
select x from y limit 1 offset 297425;
select x from y limit 1 offset 297435;

–>ERROR: invalid memory alloc request size 18446744073709551613

How can I print the “wrong” tuples to identify the wrong character?

Thank you!

Can i answer in germany? Thx.

Ich würde erst einmal GANZ SCHNELL ein Backup machen. Geht das? Da ist was gröberes kaputt, was aber aus der Ferne so erst einmal schlecht nachvollziehbar ist.