Re: Feature: POSIX Shared memory support - Mailing list pgsql-patches

From Tom Lane
Subject Re: Feature: POSIX Shared memory support
Date
Msg-id 9480.1170775034@sss.pgh.pa.us
Whole thread Raw
In response to Feature: POSIX Shared memory support  (Chris Marcellino <maps@levelview.com>)
Responses Re: Feature: POSIX Shared memory support
List pgsql-patches
Chris Marcellino <maps@levelview.com> writes:
> To this end, I have "ported" the svsv_shmem.c layer to use the POSIX
> calls (which are some ways more robust w.r.t reducing collision by
> using strings as shared memory id's, instead of ints).

This has been suggested before, and rejected before, on the grounds that
the POSIX API provides no way to detect whether anyone else is attached
to the segment.  Not being able to tell that is a tremendous robustness
hit for us.  We are not going to risk destroying someone's database
(or in the alternative, failing to restart after most crashes, which
it looks like your patch would do) in order to make installation
fractionally easier.

I read through your patch in the hopes that you had a solution for this,
but all I find is a copied-and-pasted comment

>     /*
>      * We detect whether a shared memory segment is in use by seeing whether
>      * it (a) exists and (b) has any processes are attached to it.
>      */

followed by code that does no such thing.

            regards, tom lane

pgsql-patches by date:

Previous
From: Chris Marcellino
Date:
Subject: Feature: POSIX Shared memory support
Next
From: Michael Paesold
Date:
Subject: Re: Feature: POSIX Shared memory support