Re: Moved postgres, now won't start - Mailing list pgsql-general

From Tom Lane
Subject Re: Moved postgres, now won't start
Date
Msg-id 18674.1184612767@sss.pgh.pa.us
Whole thread Raw
In response to Re: Moved postgres, now won't start  (Madison Kelly <linux@alteeve.com>)
Responses Re: Moved postgres, now won't start  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-general
Madison Kelly <linux@alteeve.com> writes:
>    Over and over again. I tried shutting down postgresql again and got
> this at the shell:

> # /etc/init.d/postgresql-8.1 stop
> Stopping PostgreSQL 8.1 database server: main* pg_ctl: postmaster does
> not shut down
> (does not shutdown gracefully, now stopping immediately)pg_ctl: could
> not send stop signal (PID: 19958): No such process
> Insecure dependency in kill while running with -T switch at
> /usr/bin/pg_ctlcluster line 370.
> (does not shutdown, killing the process)
>   failed!

>    And this in the logs:

> 2007-07-16 14:28:00 EDT LOG:  received fast shutdown request
> 2007-07-16 14:28:00 EDT LOG:  shutting down
> 2007-07-16 14:28:00 EDT PANIC:  could not open control file
> "global/pg_control": No such file or directory
> 2007-07-16 14:28:00 EDT LOG:  background writer process (PID 19960) was
> terminated by signal 6
> 2007-07-16 14:28:00 EDT LOG:  terminating any other active server processes
> 2007-07-16 14:28:00 EDT LOG:  all server processes terminated;
> reinitializing
> 2007-07-16 14:28:00 EDT LOG:  could not open file "postmaster.pid": No
> such file or directory
> 2007-07-16 14:28:00 EDT PANIC:  could not open control file
> "global/pg_control": No such file or directory
> 2007-07-16 14:28:00 EDT LOG:  could not open temporary statistics file
> "global/pgstat.tmp": No such file or directory

I think this proves my theory --- that all looks like leftover processes
trying to work in an installation that isn't there anymore.  (Except I
have no idea what the "insecure dependency" bit is about.)

What I suspect happened is that you moved the directories before you
actually shut down the old postmaster, and then the initscript's "stop"
command would have failed because it couldn't find the postmaster.pid file.

You could get rid of the old postmaster by doing "ps auxww | grep post"
to determine its PID and then "kill -QUIT postmaster_pid".  The real
problem you're likely to have is that if you moved the directories while
anything was happening, you'll have an inconsistent snapshot of the
database files, probably meaning database corruption.  There isn't
anything much you can do about that at this stage (although REINDEXing
your more active tables might not be a bad idea, once you've got the
thing talking to you again).  I hope you have a reasonably recent backup
to resort to, in case it emerges that things are hopelessly messed up.

            regards, tom lane

pgsql-general by date:

Previous
From: Francisco Reyes
Date:
Subject: Re: pg_dump vs schemas
Next
From: Jeff Davis
Date:
Subject: Re: pg_dump vs schemas