multiple postgresql servers in multiple jails?

Oliver Fromme olli at lurza.secnetix.de
Thu Oct 25 07:39:02 PDT 2007


Oliver Peter wrote:
 > Oliver Fromme wrote:
 > > Oliver Peter wrote:
 > > > Does anybody have a running system with more than one jail hosting
 > > > more than one postgres server?
 > > 
 > > Yes, you must configure them to use different port numbers,
 > > because the SysV IPC IDs are derived from the port number.
 > > If you try to run both servers with the default port, you'll
 > > get a conflict.  Configure different port numbers, and it
 > > will work.
 > 
 > Thanks for that hint.  After changing the port numbers for each
 > instance to a different one, it works - but only at first glance.
 > After making some test creates and inserts to all servers at the same
 > time I receive the 'out of memory' messages again...
 > Different UIDs, different ports, same error.

Can you please give the output from "ipcs -M" and "ipcs -p"?

The latter shows the process IDs of the creator (CPID) and
last user (LPID) of shared memory resources.  You can look
up the jails in which those processes are running, so to
make sure that none of the resources was taken over by a
different jail.

The "jps" script could be useful:

http://www.secnetix.de/~olli/scripts/jps

By the way, "ipcs -bm" displays the shared memory segment
sizes.

 > > By the way, the PostgreSQL developers do _not_ recommend to
 > > run multiple servers on the same machine, because of bad
 > > efficiency.  It is much better (performance-wise) to run
 > > all databases within the same server engine.  PostgreSQL
 > > has all the authentication and permission features you need
 > > to separate multiple databases within a single server, so
 > > there is really no need to use multiple jails.
 > 
 > Of course I understand that.  But I would like to setup a test server
 > in a different jail beside my production jail/pgsql-server to be sure
 > not to crash my production server.
 > Performance does not matter (at this time in this specific case of
 > course!).

I see.  In that case it is probably OK.

 > > I have these on a machine with a single PostgreSQL server,
 > > as per recommendations of the developers:
 > > 
 > > options         SHMMAXPGS=65536
 > > options         SEMMAP=1024
 > > options         SEMMNI=64
 > > options         SEMMNS=1024
 > > options         SEMUME=64
 > > options         SEMMNU=128
 > 
 > Is this a good recommendation for a machine with only 1GB of RAM?

In fact, the above lines are from a machine with 256 MB RAM.
For 1 GB you can probably double the number of shared memory
pages (SHMMAXPGS value).  The semaphore values (SEM*) should
be sufficient in either case, I think.

Best regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

"C is quirky, flawed, and an enormous success."
        -- Dennis M. Ritchie.


More information about the freebsd-questions mailing list