On Tue, Jul 24, 2012 at 3:16 AM, Craig Ringer <ring...@ringerc.id.au> wrote:
> It shouldn't matter - only PostgreSQL was restarted, not the whole machine >> - and cleanly at that. Very strange. > > > look at pg_ctlcluster, (which does the restart): if (!fork()) { close STDOUT; exec $pg_ctl, '-D', $info{'pgdata'}, '-s', '-w', '-m', 'fast', @pg_ctl_opts_from_cli, 'stop'; } else { wait; $result = $? >> 8; } # try harder if "fast" mode does not work if (-f $info{'pgdata'}.'/postmaster.pid') { print "(does not shutdown gracefully, now stopping immediately)\n"; $result = system $pg_ctl, '-D', $info{'pgdata'}, '-s', '-w', '-m', 'immediate', @pg_ctl_opts_from_cli, 'stop'; } # 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? Greetings Marcin