True, but even so, 32 max connections is a bit light.  I have more 
pgsql databases than that on my box now.  My point in my previous answer

to Tom was that you HAVE to shut down postgresql to change this.  It 
doesn't allocate tons of semaphores on startup, 
[snip]

is this correct?  I recall looking through the source and seeing
comments to the affect that it is better to allocate them all
(semaphores) up front in order to prevent runtime failed allocations.
(could be totally off base on this).

You don't have to be using apache to need more than 32 simo connections.

Heck, how many postgresql databases do you figure are in production with

that setting still in there?  My guess is not many.

[snip]
True, and it is not unheard of to put minimum specs for version x of the
database, i.e. 7.4 requires kernel 2.x and so on.

Here's the comment I was referring to:

/*
 * InitProcGlobal -
 *	  initializes the global process table. We put it here so that
 *	  the postmaster can do this initialization.
 *
 *	  We also create all the per-process semaphores we will need to
support
 *	  the requested number of backends.  We used to allocate
semaphores
 *	  only when backends were actually started up, but that is bad
because
 *	  it lets Postgres fail under load --- a lot of Unix systems are
 *	  (mis)configured with small limits on the number of semaphores,
and
 *	  running out when trying to start another backend is a common
failure.
 *	  So, now we grab enough semaphores to support the desired max
number
 *	  of backends immediately at initialization --- if the sysadmin
has set
 *	  MaxBackends higher than his kernel will support, he'll find
out sooner
 *	  rather than later.
 *
 *	  Another reason for creating semaphores here is that the
semaphore
 *	  implementation typically requires us to create semaphores in
the
 *	  postmaster, not in backends.
 */

Merlin

Tue, 11 Feb 2003 15:36:52 -0500
"Merlin Moncure" <merlin.moncure@rcsonline.com>
FW: Changing the default configuration (was Re:
Hi everyone,

Just looked on the IBM website for info relating to shared memory and 
IPC limits in AIX, and found a few useful-looking documents:

The Interprocess Communication (IPC) Overview
http://www-1.ibm.com/support/docview.wss?rs=0&context=SWG10&q=shmget&uid=aix15f11dd1d98f3551f85256816006a001d&loc=en_US&cs=utf-8&cc=us&lang=en#1.1
"This document defines the interprocess communication (IPC) and is 
applicable to AIX versions 3.2.x and 4.x."

Lots of the stuff here is very intro-level, but some still looks useful.


vmtune Parameters
http://www-1.ibm.com/support/docview.wss?rs=0&context=SWG10&q=shmget&uid=aix16934e2f123d4ab3785256816006a0252&loc=en_US&cs=utf-8&cc=us&lang=en
"This document discusses the vmtune  command used to modify the Virtual 
Memory Manager (VMM) parameters that control the behavior of the memory 
management subsystem. This information applies to AIX Versions 4.x."


And an obscure reference to the AIX shmget(2) manpage says that there is 
a non-tunable maximum shared-memory segment size of 256MB:

http://www.unidata.ucar.edu/packages/mcidas/780/mcx/workstation.html#aix

Hope some of this is useful.

Regards and best wishes,

Justin Clift

-- 
"My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there."
- Indira Gandhi


Wed, 19 Feb 2003 01:55:59 +1030
Justin Clift <justin@postgresql.org>
Re: FW: Changing the default configuration (was Re: