Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 02 May 2005 16:29:23 -0500
From:      Jonathan Noack <noackjr@alumni.rice.edu>
To:        "Marc G. Fournier" <scrappy@hub.org>
Cc:        Alexander Rusinov <boot@eurocom.od.ua>
Subject:   Re: PostgreSQL in FreeBSD jails
Message-ID:  <42769BB3.1050509@alumni.rice.edu>
In-Reply-To: <20050502180152.I53065@ganymede.hub.org>
References:  <426E5713.3010906@eurocom.od.ua> <747dc8f30504260812ee3c47e@mail.gmail.com>	<426E5EA5.8000703@eurocom.od.ua> <426F3AFA.9020900@konvergencia.hu>	<426F5A6E.4050208@eurocom.od.ua> <86acndmyky.fsf@xps.des.no>	<4276910A.3040100@criticalmagic.com> <20050502180152.I53065@ganymede.hub.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigF8602D63DF47EB192E3F8BDD
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

On 5/2/2005 4:03 PM, Marc G. Fournier wrote:
> yOn Mon, 2 May 2005, Richard Coleman wrote:
>> Dag-Erling Sm=F8rgrav wrote:
>>> There are two possible solutions:
>>>
>>>  - hack the SysV IPC code to use separate namespaces for each jail
>>>
>>>  - make PostgreSQL use POSIX shared memory instead of SysV shared
>>>    memory
>>>
>>> I suspect that the latter is significantly easier, and would probably=

>>> improve performance as well.
>>>
>>> DES
>>
>> It might be easier to hack PostgreSQL so that the shared memory=20
>> identifier depends not only on the port, but also on the IP address=20
>> (which will of course be different for each jail).  Or better yet, to =

>> be able to specify the shared memory identifier to use directly in the=
=20
>> config file.
>=20
> You've all lost me here ... what exactly is the problem?  PostgreSQL=20
> works under FreeBSD 4.x jails without any modifications, so how is=20
> PostgreSQL itself currently broken?  It seems to me that the problem is=
=20
> with FreeBSD 5.x's jail side of things, if the same daemon runs fine=20
> under 4.x, but, nto under 5.x ...

 From my reading on this thread:
PostgreSQL generates the shared memory identifier based on the port it=20
is running on, but (on 5.x at least) shared memory is not segregated=20
between jails.  Thus, a new instance will corrupt the shared memory of=20
another instance (in another jail, on another IP address, etc.) *if*=20
they are running on the same port.  The workaround is to ensure every=20
instance (regardless of jail or IP address) is running on a unique port.

--=20
Jonathan Noack | noackjr@alumni.rice.edu | OpenPGP: 0x991D8195


--------------enigF8602D63DF47EB192E3F8BDD
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)

iD8DBQFCdpuzUFz01pkdgZURAiAUAJ9V3OQnGBQb1S5qM6t2UPBdswRpdwCfcXoN
HFm10lNix5rqSgxyKNVQzKI=
=OJEI
-----END PGP SIGNATURE-----

--------------enigF8602D63DF47EB192E3F8BDD--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42769BB3.1050509>