On 07/24/2012 05:31 PM, Marcin Mańk wrote:
On Tue, Jul 24, 2012 at 3:16 AM, Craig Ringer
<ringerc@ringerc.id.au> wrote:
It shouldn't matter - only PostgreSQL was restarted, not the whole machine - and cleanly at that. Very strange.
# if that still not helps, use the big hammer
if (-f $info{'pgdata'}.'/postmaster.pid') {
print "(does not shutdown, killing the process)";
$pid = get_running_pid $info{'pgdata'}.'/postmaster.pid';
kill (9, $pid) if $pid;
unlink $info{'pgdata'}.'/postmaster.pid';
$result = 0;
}
Could the "big hammer mode" be what's killed the database?
Gah, that's not very wise. While the DB is probably busy doing an immediate shutdown with I/O in flight and backends chatting, let's just KILL IT with no chance of recovery!
I don't know whether PostgreSQL is supposed to cope in this situation or if it counts as abuse beyond what's reasonable. Either way it this is the cause then either Pg or the shutdown script have a potential data corruption bug.
Tom?
--
Craig Ringer