How to fix PostgreSQL installation

Solution 1:

You need to increase the maximum size of a chunk of shared memory Linux kernel allows to allocate at once (known as SHMMAX parameter)

You need to edit /etc/sysctl.conf and add the following line:

kernel.shmmax = 41943040

(where 41943040 is the size of memory in bytes, i.e. 40 megabytes. On production system you probably want to set this value way higher - Postgres documentation recommends to start with 1/4 of available memory)

Then run

sudo sysctl -p

and restart postgres again.

Alternatively, you can edit /etc/postgresql/<version>/main/postgresql.conf and reduce the value of shared_buffers parameter.

This is a bug, more info here

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/264336

(there's also /etc/sysctl.d/30-postgresql-shm.conf file which is supposed to be used for this purpose but it doesn't seem to be included from the main config so editing it has no effect)