On 01/13/2012 02:49 PM, Tomas Vondra wrote:
> On 13.1.2012 22:20, Tom Lane wrote:
>> Matt Dew<mattd@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