Re[2]: autostart postgresql - Mailing list pgsql-general
From | Andy Corteen |
---|---|
Subject | Re[2]: autostart postgresql |
Date | |
Msg-id | 718599373.20001102132218@telecam.demon.co.uk Whole thread Raw |
In response to | Re: autostart postgresql (Mike E <mee@quidquam.com>) |
List | pgsql-general |
Hello Mike, Thursday, November 02, 2000, 1:00:51 PM, you wrote: ME> * Bob Hartung (rwhart@netexpress.net) wrote: >> Partial success! >> I have postgresql started and have "createdb testdb" >> successfully. I am having trouble with autostarting >> postmaster in RH6.2 however. >> >> I have copied the file >> "/usr/local/postgresql-7.0.2.......postgres-init" to >> /etc/rc.d/init.d and made a softe link to it from .../rc5.d >> as follows ln /etc/rc.d/init.d/postgres.init >> /etc/rc.d/rc5.d/S98postgres.init >> >> postmaster does not autostart upon a reboot. Do I have to >> use a start command or other paramater to tell postgres.init >> to start the postmaster up? I am not good at reading and >> deciphering these scripts but would like postgres to >> autostart everytime the PC boots to runlevel 5. ME> You can't run postmaster as root, so to do this I believe you ME> have to write a wrapper script and give it a postgres (or whatever ME> your admin account is named) sticky bit. ME> Is this the 'one true way' for doing this? ME> Mike See following (and attached) dump of my init script, /etc/rc.d/init.d/postgresql which should be linked to the runlevel directories as suitable for your system. This works automatically on my hosts ************************************************************************* #! /bin/sh # postgresql This is the init script for starting up the PostgreSQL # server # Version 6.5.3-2 Lamar Owen # Added code to determine if PGDATA exists, whether it is current version # or not, and initdb if no PGDATA (initdb will not overwrite a database). # chkconfig: 345 85 15 # description: Starts and stops the PostgreSQL backend daemon that handles \ # all database requests. # processname: postmaster # pidfile: /var/run/postmaster.pid # # Source function library. . /etc/rc.d/init.d/functions # Get config. . /etc/sysconfig/network # Check that networking is up. # Pretty much need it for postmaster. [ ${NETWORKING} = "no" ] && exit 0 [ -f /usr/bin/postmaster ] || exit 0 # This script is slightly unusual in that the name of the daemon (postmaster) # is not the same as the name of the subsystem (postgresql) # See how we were called. case "$1" in start) echo -n "Checking postgresql installation: " # Check for the PGDATA structure if [ -f /var/lib/pgsql/PG_VERSION ] && [ -d /var/lib/pgsql/base/template1 ] then # Check version of existing PGDATA if [ `cat /var/lib/pgsql/PG_VERSION` != '6.5' ] then echo "old version. Need to Upgrade." echo "See /usr/doc/postgresql-6.5.3/README.rpm for more information." exit 1 else echo "looks good!" fi # No existing PGDATA! Initdb it. else echo "no database files found." if [ ! -d /var/lib/pgsql ] then mkdir -p /var/lib/pgsql chown postgres.postgres /var/lib/pgsql fi su -l postgres -c '/usr/bin/initdb --pglib=/usr/lib/pgsql --pgdata=/var/lib/pgsql' fi # Check for postmaster already running... pid=`pidof postmaster` if [ $pid ] then echo "Postmaster already running." else #all systems go -- remove any stale lock files rm -f /tmp/.s.PGSQL.* > /dev/null echo -n "Starting postgresql service: " su -l postgres -c '/usr/bin/postmaster -i -S -D/var/lib/pgsql' sleep 1 pid=`pidof postmaster` if [ $pid ] then echo -n "postmaster [$pid]" touch /var/lock/subsys/postgresql echo $pid > /var/run/postmaster.pid echo else echo "failed." fi fi ;; stop) echo -n "Stopping postgresql service: " killproc postmaster sleep 2 rm -f /var/run/postmaster.pid rm -f /var/lock/subsys/postgresql echo ;; status) status postmaster ;; restart) $0 stop $0 start ;; *) echo "Usage: postgresql {start|stop|status|restart}" exit 1 esac exit 0 ************************************************************* -- Best regards, Andy mailto:lbc@telecam.demon.co.uk
Attachment
pgsql-general by date: