On Fri, May 6, 2011 at 10:13 AM, Robert Haas <robertmh...@gmail.com> wrote:
> On Fri, May 6, 2011 at 8:16 AM, Peter Geoghegan <pe...@2ndquadrant.com> wrote:
>> Could you please expand upon this? Why is it of any consequence if the
>> archiver notices that the postmaster is dead after 60 seconds rather
>> than after 1? So control in the archiver is going to stay in its event
>> loop for longer than it would have before, until pgarch_MainLoop()
>> finally returns. The DBA might be required to kill the archiver where
>> before they wouldn't have been (they wouldn't have had time to), but
>> they are also required to kill other backends anyway before deleting
>> postmaster.pid, or there will be dire consequences. Nothing important
>> happens after waiting on the latch but before checking
>> PostmasterIsAlive(), and nothing important happens after the
>> postmaster is found to be dead. ISTM that it wouldn't be particularly
>> bad if the archiver was SIGKILL'd while waiting on a latch.
>
> Well, IMHO, the desirable state of affairs is for all child processes,
> including regular backends, to exit near-instantaneously once the
> postmaster dies.  Among many other problems, once the postmaster is
> gone, there's no guard against shared memory corruption.  And as long
> as there is at least one backend kicking around attached to shared
> memory, you won't be able to restart postmaster, which is something
> you typically want to do as quickly as humanly possible.
>
> http://www.postgresql.org/support/submitbug

The apparently irrelevant link at the bottom of this email is the
result of a cut-and-paste into the wrong email window.  Sorry....

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to