Sebastien Boisvert <[email protected]> writes:
> Is this mechanism documented anywhere (besides source code)?
No, not really.
> It looks like PG will only clean it up if there's no other process running at
> all on the pid listed in the postmaster.pid file, even if any process running
> on that pid isn't a PG process or there's no server running on the data
> directory (as per `pg_ctl status`).
Not sure what you're looking at, but the above is wrong in at least one
critical detail, namely that there's a process-ownership check via
kill(). There are also checks to ensure no children of the previous
postmaster are still alive. These are not things you want to lightly
bypass: two sets of postmaster children running against the same data
directory *will* result in unrecoverable data corruption.
If you're trying to claim you've seen a false-positive situation, it
would be interesting to hear actual details.
regards, tom lane
--
Sent via pgsql-general mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general