Re: POSIX shared memory redux

A.M. <agentm@themactionfaction.com>

From: "A.M." <agentm@themactionfaction.com>
To: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2011-04-11T22:11:04Z
Lists: pgsql-hackers
On Apr 11, 2011, at 6:06 PM, Robert Haas wrote:

> On Sun, Apr 10, 2011 at 5:03 PM, A.M. <agentm@themactionfaction.com> wrote:
>> To ensure that no two postmasters can startup in the same data directory, I use fcntl range locking on the data directory lock file, which also works properly on (properly configured) NFS volumes. Whenever a postmaster or postmaster child starts, it acquires a read (non-exclusive) lock on the data directory's lock file. When a new postmaster starts, it queries if anything would block a write (exclusive) lock on the lock file which returns a lock-holding PID in the case when other postgresql processes are running.
> 
> This seems a lot leakier than what we do now (imagine, for example,
> shared storage) and I'm not sure what the advantage is.  I was
> imagining keeping some portion of the data in sysv shm, and moving the
> big stuff to a POSIX shm that would operate alongside it.

What do you mean by "leakier"? The goal here is to extinguish SysV shared memory for portability and convenience benefits. The mini-SysV proposal was implemented and shot down by Tom Lane.

Cheers,
M