Messages with PDF's seem to be dropped as Magnus described yesterday.
It is in this tarball though:
http://homepage.mac.com/cmarcellino/postgres-posix-shmem.tar
As Tom has said a few times, there is an issue with the need to keep
two different lifecycles of postmasters and backends out of the
database.
I was working under the assumption that the OS I was using had a
standard implementation of shm_unlink. Darwin conveniently keeps new
shm_open's from succeeding after a shm_unlink. It turns out that on
platforms other than Darwin/Mac OS X, the patch can't prevent lone
backends from corrupting the db.
The only portable way I can think of that might make this work would
be to use a either a small token SysV segment for mutual exclusion
(as discussed previously), or to use a SysV semaphore with SEM_UNDO
to clean up on process crashes/killings. I need to flesh out the
latter idea. Does anyone have any thoughts on whether this would be
worth trying? We have a strong need in our group to use POSIX shmem
and the more portable and robust it is, the better.
Thanks,
Chris
On Feb 28, 2007, at 9:24 AM, David Fetter wrote:
On Tue, Feb 27, 2007 at 11:17:44AM -0800, Chris Marcellino wrote:
So I've finished reformulating this patch to use the device/inode
instead of the hash idea I had earlier.
I have tested this patch (on Darwin) to permit the postmaster to
recover after a crash or killing, and it will not permit the
postmaster to restart while another postmaster or backends are still
in the database (regardless of the lockfile status). The ideas are
the same as before, but are described via flowchart in the attached
PDF.
The PDF didn't come through. Could you please re-send?
Cheers,
David.
--
David Fetter <[EMAIL PROTECTED]> http://fetter.org/
phone: +1 415 235 3778 AIM: dfetter666
Skype: davidfetter
Remember to vote!
Consider donating to PostgreSQL: http://www.postgresql.org/about/
donate
---------------------------(end of
broadcast)---------------------------
TIP 6: explain analyze is your friend
---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at
http://www.postgresql.org/about/donate