On Tue, Apr 18, 2017 at 3:27 AM, Peter Eisentraut <peter.eisentr...@2ndquadrant.com> wrote: > I'd imagine the postmaster would tell the walsender that it has started > shutdown, and then the walsender would reject $certain_things. But I > don't see an existing way for the walsender to know that shutdown has > been initiated. SIGINT is still free ...
The WAL sender receives SIGUSR2 from the postmaster when shutdown is initiated, so why not just rely on that and issue an ERROR when a client attempts to create or drop a new slot, setting up walsender_ready_to_stop unconditionally? It seems to me that the issue here is the delay between the moment SIGTERM is acknowledged by the WAL sender and the moment CREATE_SLOT is treater. An idea with the attached... > The alternative of shutting down logical walsenders earlier also doesn't > look straightforward, since the postmaster doesn't know directly what > kind of walsender a certain process is. So you'd also need additional > signal types or something there. Yup, but is a switchover between a publisher and a subscriber something that can happen? -- Michael
walsender-shutdown-fix.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers