Heikki,
I changed postgresql.conf to decrease those parameters but no change: GMT54000FATAL: requested shared memory size
overflowssize_t
> My kernel is:
> set semsys:seminfo_semmap=64
> set semsys:seminfo_semmni=4096
> set semsys:seminfo_semmns=4096
> set semsys:seminfo_semmnu=4096
> set semsys:seminfo_semume=64
> set semsys:seminfo_semmsl=500
> set shmsys:shminfo_shmmax=0xffffffffffff
> set shmsys:shminfo_shmmin=100
> set shmsys:shminfo_shmmni=4096
> set shmsys:shminfo_shmseg=100
>
shared_buffers = 5GB # min 16 or max_connections*2, 8KB each
temp_buffers = 256MB # min 100, 8KB each
max_prepared_transactions = 1000 # can be 0 or more
# note: increasing max_prepared_transactions costs ~600 bytes of shared memory
# per transaction slot, plus lock space (see max_locks_per_transaction).
# It is not advisable to set max_prepared_transactions nonzero unless you
# actively intend to use prepared transactions.
work_mem = 256MB # min 64, size in KB
maintenance_work_mem = 256MB # min 1024, size in KB
max_stack_depth = 4MB
[L.Y.]
temp_buffers = 2GB seems very high. That settings is *per backend*, so if you have 10 backends that all use temporary
tables,they will consume 20GB altogether for temp buffers. work_mem works similarly, except that a single query can use
manytimes work_mem even in a single backend, so you need to be even more conservative with that. 1GB seems very high
forwork_mem. Try resetting these back to the defaults, and see if that works for you. Increase them gradually, and only
ifyou have a query where the higher value really helps.
- Heikki