cant connect to the database, even after doing start of postmaster using a script
Hi all,
i have a script to stop and start postmaster
However i have noticed this many a time sdnow. I stop postmaster using that script
and then start using a script.
However if i try to do psql <dbname>, it gives me an error saying that the postmaster is not up.
Why is it that the postmaster went down on its own, even though i had done a srart after stop.
thanks,
regards
Surabhi
On Thu, 2006-07-13 at 01:20, surabhi.ahuja wrote:
Hi all,
i have a script to stop and start postmasterHowever i have noticed this many a time sdnow. I stop postmaster using
that script
and then start using a script.However if i try to do psql <dbname>, it gives me an error saying that
the postmaster is not up.Why is it that the postmaster went down on its own, even though i had
done a srart after stop.
How are you stopping the database? Let me guess that it's "pg_ctl -m
immediate stop".
pg_ctl --help tells us:
Shutdown modes are:
smart quit after all clients have disconnected
fast quit directly, with proper shutdown
immediate quit without complete shutdown; will lead to recovery on
restart
Basically, -m immediate does a kill -9 on all the postgresql processes.
It's an inch away from pulling the plug, except that lying hardware
still gets to flush its caches.
So, if you're stopping pgsql that way, then when it starts up, it does
so in recovery mode, and it can't allow connections until recovery is
finished.
If you're stopping it some other way though, then things might be going
wrong in some other way.
this is what is happening
stop(){
echo "Stopping ${NAME} service: "
if [ "`uname`" = "Linux" ]; then
/bin/sh -c "$PGCTL stop -D $PGDATA -s -m fast" > /dev/null 2>&1
fi
ret=$?
if [ $ret -eq 0 ]
then
echo_success
else
echo_failure
if [ "`uname`" = "Linux" ]; then
/bin/sh -c "$PGCTL stop -D $PGDATA -s -m immediate" > /dev/null 2>&1
fi
fi
echo
}
u mean to say that /bin/sh -c "$PGCTL stop -D $PGDATA -s -m immediate" > /dev/null 2>&1
is causing problem
what shd be done, shd it be removed?
________________________________
From: pgsql-general-owner@postgresql.org on behalf of Scott Marlowe
Sent: Thu 7/13/2006 9:27 PM
To: surabhi.ahuja
Cc: pgsql general
Subject: Re: [GENERAL] cant connect to the database, even after doing start
***********************
Your mail has been scanned by InterScan VirusWall.
***********-***********
On Thu, 2006-07-13 at 01:20, surabhi.ahuja wrote:
Hi all,
i have a script to stop and start postmasterHowever i have noticed this many a time sdnow. I stop postmaster using
that script
and then start using a script.However if i try to do psql <dbname>, it gives me an error saying that
the postmaster is not up.Why is it that the postmaster went down on its own, even though i had
done a srart after stop.
How are you stopping the database? Let me guess that it's "pg_ctl -m
immediate stop".
pg_ctl --help tells us:
Shutdown modes are:
smart quit after all clients have disconnected
fast quit directly, with proper shutdown
immediate quit without complete shutdown; will lead to recovery on
restart
Basically, -m immediate does a kill -9 on all the postgresql processes.
It's an inch away from pulling the plug, except that lying hardware
still gets to flush its caches.
So, if you're stopping pgsql that way, then when it starts up, it does
so in recovery mode, and it can't allow connections until recovery is
finished.
If you're stopping it some other way though, then things might be going
wrong in some other way.
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
On Fri, 2006-07-14 at 02:48, surabhi.ahuja wrote:
this is what is happening
stop(){
echo "Stopping ${NAME} service: "
if [ "`uname`" = "Linux" ]; then
/bin/sh -c "$PGCTL stop -D $PGDATA -s -m fast" > /dev/null
2>&1
fi
ret=$?
if [ $ret -eq 0 ]
then
echo_success
else
echo_failure
if [ "`uname`" = "Linux" ]; then
/bin/sh -c "$PGCTL stop -D $PGDATA -s -m immediate"/dev/null 2>&1
fi
fi
echo
}u mean to say that /bin/sh -c "$PGCTL stop -D $PGDATA -s -m
immediate" > /dev/null 2>&1
is causing problemwhat shd be done, shd it be removed?
It's not how I'd do it, certainly. Which branch gets run most the
time? Have you tested to make sure that the -m fast really runs and
gets a chance to work? What script is this from? Is it a stock one
that came with your distribution, or home grown?
this script is taken from the distribution also
but i think the second check, to do stop -m immidiate is home grown.
thanks,
regards
Surabhi
________________________________
From: Scott Marlowe [mailto:smarlowe@g2switchworks.com]
Sent: Fri 7/14/2006 9:44 PM
To: surabhi.ahuja
Cc: pgsql general
Subject: RE: [GENERAL] cant connect to the database, even after doing start
***********************
Your mail has been scanned by InterScan VirusWall.
***********-***********
On Fri, 2006-07-14 at 02:48, surabhi.ahuja wrote:
this is what is happening
stop(){
echo "Stopping ${NAME} service: "
if [ "`uname`" = "Linux" ]; then
/bin/sh -c "$PGCTL stop -D $PGDATA -s -m fast" > /dev/null
2>&1
fi
ret=$?
if [ $ret -eq 0 ]
then
echo_success
else
echo_failure
if [ "`uname`" = "Linux" ]; then
/bin/sh -c "$PGCTL stop -D $PGDATA -s -m immediate"/dev/null 2>&1
fi
fi
echo
}u mean to say that /bin/sh -c "$PGCTL stop -D $PGDATA -s -m
immediate" > /dev/null 2>&1
is causing problemwhat shd be done, shd it be removed?
It's not how I'd do it, certainly. Which branch gets run most the
time? Have you tested to make sure that the -m fast really runs and
gets a chance to work? What script is this from? Is it a stock one
that came with your distribution, or home grown?