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>