Ahhh!  Can't seem to make this go away!

Here is the log file entry:

FATAL:  could not create shared memory segment: Cannot allocate memory
DETAIL: Failed system call was shmget(key=5432001, size=4030464, 03600). HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space. To reduce the request size (currently 4030464 bytes), reduce PostgreSQL's shared_buffers parameter (currently 300) and/or its max_connections parameter (currently 23). The PostgreSQL documentation contains more information about shared memory configuration.



Following the queue on the postgres web page, I created /etc/ sysctl.conf and added the following five entries:

kern.sysv.shmmax=4194304
kern.sysv.shmmin=1
kern.sysv.shmmni=32
kern.sysv.shmseg=8
kern.sysv.shmall=1024

But when I try to start two servers, I get the same error. Should I be bumping these numbers up?

Eric

On Mar 30, 2009, at 7:18 PM, Tom Lane wrote:

Eric Smith <eric_h_sm...@mac.com> writes:
Log file says "could not create shared memory segment".  It also says
that I should change max_connections or shared_buffers.

Error message claims that max_connections is 23, but postgresql.conf
has this listed as 20.

The autovacuum workers get added on.

Error message claims that shared_buffers is 300, but postgresql.conf
has this listed as 2400kB.

Same thing, different units.

Anyway, you left out the interesting part of the error message,
ie the kernel error code.  If it's "Cannot allocate memory" then
you probably need to increase SHMALL.

                        regards, tom lane

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to