hard shutdown of system

Started by surabhi.ahujaalmost 20 years ago4 messagesgeneral
Jump to latest
#1surabhi.ahuja
surabhi.ahuja@iiitb.ac.in

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

#2Chris
dmagick@gmail.com
In reply to: surabhi.ahuja (#1)
Re: hard shutdown of system

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/

#3surabhi.ahuja
surabhi.ahuja@iiitb.ac.in
In reply to: Chris (#2)
Re: hard shutdown of system

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/

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: surabhi.ahuja (#1)
Re: hard shutdown of system

"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