On 01/13/2012 02:49 PM, Tomas Vondra wrote:
On 13.1.2012 22:20, Tom Lane wrote:
Matt Dew<ma...@consistentstate.com>  writes:
An interesting sidenote we realized.  the nice system shutdown script
/etc/init.d/postgres doesn't actually wait for the db to be down, it
just waits for pg_ctl to return.

By default, "pg_ctl stop" does wait for the server to shut down ...

Not really. It waits for up to 60 seconds and if the shutdown was not
successful (as there was a connected client), it prints a message to the log

    pg_ctl: server does not shut down
    HINT: The "-m fast" option immediately disconnects sessions
    rather than

and returns 1.

If you really need to wait for shutdown, you need to add "-w" to the
command line, use "-m fast" or "-m immediate".

But even ignoring the return value should not cause corruption IMHO.

Thanks Tom and Tomas,
    I remember -w   now,  but I'd long forgotten about it.

If the pg_ctl returns a 1 but the machine physically powers off, there is a chance for corruption though right? Postgres is trying to write stuff to disk and clean up and BAM power goes out. ?

There is a chance for corruption though if the machine physically powers off after the pg_ctl return


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

Reply via email to