PostgreSQL is great, but the manner its work is sometime… a little unsettling. For example, Postgres like spawning a lots of little processes that communicate by IPC, which means using chunk of shared memory. Sometime you can hit the shmmax
limit.
To obtain the current value :
cat /proc/sys/kernel/shmmax
You can ovverride the default value into the /etc/sysctl.conf
file.
Add a line like this for example:
kernel.shmmax = 43554432
And don’t forget to make a sysctl -p
and restart postgres to take into account the new value.