Re: [GENERAL] Again: How the hell do I restart immediately
От | Michael Simms |
---|---|
Тема | Re: [GENERAL] Again: How the hell do I restart immediately |
Дата | |
Msg-id | 199910081726.SAA06340@argh.demon.co.uk обсуждение исходный текст |
Ответ на | Again: How the hell do I restart immediately ("Doran L. Barton" <fozz@iodynamics.com>) |
Ответы |
Re: [GENERAL] Again: How the hell do I restart immediately
|
Список | pgsql-general |
> > I posted this question before and got no good responses. I'm posting it > again out of pure desperation. > > I've got a Postgres 6.5.1 server running on a RedHat (i386) 5.2 box. > PostgreSQL was compiled from source with no special configuration options. > > The server is dying about once or twice a week. This is making me look like > crap to the rest of the company since our e-commerce solution is built up > around PostgreSQL and we can't take orders when the sevrer is down. > > What can I do to ensure (a) the server doesn't go down or (b) if the server > does down, it gets restarted immediately?! > > Please respond if you have any good ideas. Well, I have a hack of a little shell script that will restart it within 60 seconds. Its not efficient, pleasant or anything else, but it does the job Call this script postmasterangel.sh (as in guardian angel) and run it instead of the postmaster. Change the postmaster line in here to be your postmaster boot configuration options. <disclaimer> This runs under linux. It will probably work under most un*x flavors. Dont expect anything under doze unless you use cygwin for it. Yes its nasty, I wrote it to doa job, not to look good </disclaimer> ---------------------------------------------- #!/bin/sh - pma=`ps x | grep -v grep | grep postmasterangel | grep 'sh -' | wc -l` if [ "$pma" -gt "2" ] then exit 0 fi while [ 1 ] do pm=`ps x | grep -v grep | grep -v angel | grep postmaster` if [ "x$pm" = "x" ] then /usr/bin/postmaster -o "-F -S 10240" -d 1 -N 512 -B 3000 -D/var/lib/pgsql/data -o -F > /tmp/postmasterout 2> /tmp/postmastererr else sleep 60 fi done
В списке pgsql-general по дате отправления: