Re: running pgsql 7 under Jail'ed virtual machine on FreeBSD 4.2 - Mailing list pgsql-general

From Alex Pilosov
Subject Re: running pgsql 7 under Jail'ed virtual machine on FreeBSD 4.2
Date
Msg-id Pine.BSO.4.10.10101051341140.31095-100000@spider.pilosoft.com
Whole thread Raw
In response to running pgsql 7 under Jail'ed virtual machine on FreeBSD 4.2  ("Dave VanAuken" <dave@hawk-systems.com>)
Responses RE: running pgsql 7 under Jail'ed virtual machine on FreeBSD 4.2
List pgsql-general
Here's the story about pgsql and jail:

1. FreeBSD shared memory is _really_ shared across all jail VMs. I think
its not going to change, as this seems like a great way for processes to
exchange data...But I could be wrong. :)

2. Postgres uses some funky math to determine which shmid to use for
different memory allocations it needs. The problem with that it has no
idea about jails and will not generate a different shmid for different
processes, so postgres processes end up stepping on each other's toes.

See include/storage/ipc.h, definition of SystemPortAddressGetIPCKey, and
you'll understand what I mean.

To properly fix this, I think this should be done:

Another (optional) backend parameter which should determine offset
(hardcoded now to 17491) for allocation of different shmids...

comments? TODO?


On Thu, 4 Jan 2001, Dave VanAuken wrote:

> Have a FreeBSD 4.2 box...  have created two Virtual machines with the
> jail process.
> Apache and PHp configure and execute fine, but am having some
> configuration and execution problems with pgsql... not sure if I am
> missing something or if pgsql just cannot deal with being in the jail
> and sharing the sysv memory
>
> Attempting to manually start the postmaster produces the following:
>
> %postmaster -i
> IpcMemoryCreate: shmget failed (Function not implemented) key=5432010,
> size=144, permission=700
> This type of error is usually caused by an improper
> shared memory or System V IPC semaphore configuration.
> For more information, see the FAQ and platform-specific
> FAQ's in the source directory pgsql/doc or on our
> web site at http://www.postgresql.org.
> IpcMemoryIdGet: shmget failed (Function not implemented) key=5432010,
> size=144, permission=0
> IpcMemoryAttach: shmat failed (Function not implemented) id=-2
> FATAL 1:  AttachSLockMemory: could not attach segment
> %
>
> Have modified the sysctl.conf file to allow usage of sysv memory, but
> as it is already shared from the host machine, this may be causing
> pgsql to barf on it.
>
> Searching for jail faq's and posts regarding this matter produces some
> close, but not helpful posts regarding chroot'ed environments.
>
> Any insights, requests for details, and assistance are appreciated.
>
> Dave
>
>


pgsql-general by date:

Previous
From: "Joel Burton"
Date:
Subject: Re: RE: Using Postgres with Access 2000
Next
From: Ed Loehr
Date:
Subject: Re: Re: Re: Test for existence of Table