Обсуждение: hard shutdown of system

Поиск
Список
Период
Сортировка

hard shutdown of system

От
"surabhi.ahuja"
Дата:
the user tries to do kill -9 -1 and log in again
 
in the startup script i do the following
 
/sbin/pidof -s postmaster
 
and it still displays some value,
 
however ps -aef | grep postmaster does not display anything
 
is it ok if i do the following
 pid1=`/sbin/pidof -s postmaster`
 pid2=`ps -eaf | grep postmaster | grep -v grep | tail -1 | awk '{print $2}'`
if ($pid1 and $pid2)
=> postmaster is already running
 
otherwise
 
i check if postmaster.pid exists
if it does, i delete it
and then start postmaster by doing $PGCTL -l $POSTGRES_LOG -D $PGDATA -p $POSTMASTER -o '-p ${PGPORT}' start  > /dev/null 2>&1
 
is it ok?
 
thanks,
regards
Surabhi

Re: hard shutdown of system

От
"chris smith"
Дата:
On 4/17/06, surabhi.ahuja <surabhi.ahuja@iiitb.ac.in> wrote:
>
> the user tries to do kill -9 -1 and log in again
>
> in the startup script i do the following
>
> /sbin/pidof -s postmaster
>
> and it still displays some value,
>
> however ps -aef | grep postmaster does not display anything
>
> is it ok if i do the following
>  pid1=`/sbin/pidof -s postmaster`
>  pid2=`ps -eaf | grep postmaster | grep -v grep | tail -1 | awk '{print
> $2}'`
>
> if ($pid1 and $pid2)
> => postmaster is already running
>
> otherwise
>
> i check if postmaster.pid exists
> if it does, i delete it
> and then start postmaster by doing $PGCTL -l $POSTGRES_LOG -D $PGDATA -p
> $POSTMASTER -o '-p ${PGPORT}' start  > /dev/null 2>&1

Check out the startup script. Depending on what system you are
running, this might already all be taken care of.

Here's a mandrake example (I think the redhat version is pretty similar).

http://techdocs.postgresql.org/scripts/mandrake72-startup

--
Postgresql & php tutorials
http://www.designmagick.com/

Re: hard shutdown of system

От
"surabhi.ahuja"
Дата:
hi,
 
yah i took this script only and built upon that
 
the problem is that the statement
"pidof postmaster"
 
will return some valu even if
 
ps -aef | grep postmaster does not return anything
 
if i do kill -9 <process id of postmaster?
 
and i do pidof postmaster,
some machines it will show nothing
 
and on some machines it still shows some value, althou ps -aef | grep postmaster does not display anything.
 
so in such machines i ll have to check for both, pidof as well as ps -aef | grep postmaster.
 
is this ok?


From: chris smith [mailto:dmagick@gmail.com]
Sent: Mon 4/17/2006 1:14 PM
To: surabhi.ahuja
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] hard shutdown of system

***********************
Your mail has been scanned by InterScan VirusWall.
***********-***********


On 4/17/06, surabhi.ahuja <surabhi.ahuja@iiitb.ac.in> wrote:
>
> the user tries to do kill -9 -1 and log in again
>
> in the startup script i do the following
>
> /sbin/pidof -s postmaster
>
> and it still displays some value,
>
> however ps -aef | grep postmaster does not display anything
>
> is it ok if i do the following
>  pid1=`/sbin/pidof -s postmaster`
>  pid2=`ps -eaf | grep postmaster | grep -v grep | tail -1 | awk '{print
> $2}'`
>
> if ($pid1 and $pid2)
> => postmaster is already running
>
> otherwise
>
> i check if postmaster.pid exists
> if it does, i delete it
> and then start postmaster by doing $PGCTL -l $POSTGRES_LOG -D $PGDATA -p
> $POSTMASTER -o '-p ${PGPORT}' start  > /dev/null 2>&1

Check out the startup script. Depending on what system you are
running, this might already all be taken care of.

Here's a mandrake example (I think the redhat version is pretty similar).

http://techdocs.postgresql.org/scripts/mandrake72-startup

--
Postgresql & php tutorials
http://www.designmagick.com/

Re: hard shutdown of system

От
Tom Lane
Дата:
"surabhi.ahuja" <surabhi.ahuja@iiitb.ac.in> writes:
> the user tries to do kill -9 -1 and log in again

The *first* thing you gotta do is retrain your user.  kill -9
is never the appropriate way to shut down the postmaster.

The script mods you describe seem to be oriented at forcing the
postmaster to restart when there are still live child processes
of the old postmaster.  That is a REALLY BAD IDEA.  It will lead
to unrecoverable corruption of your database.  The safety checks
that are in the postmaster are there to keep you from destroying
your database --- overriding them by removing the pid file is
not safe, recommended, or supported.

The last question is why your user wants to shut down the postmaster
so often?  There shouldn't be any need for that in ordinary scenarios.

            regards, tom lane