Please replace with the one attached to this email message. The
authorBruce Momjian
Thu, 1 Feb 2001 18:31:10 +0000 (18:31 +0000)
committerBruce Momjian
Thu, 1 Feb 2001 18:31:10 +0000 (18:31 +0000)
previous version depended on the below patch, this one does not. It is
also a bit cleaner and has a few more helpful comments.

Ryan Kirkpatrick

contrib/init.d/postgresql

index 205ccda43255199c2950bcc6bab360291e8d3534..ab81a24f6ef02672305f9b0082877a4a8f80ef99 100644 (file)
@@ -1,40 +1,65 @@
 #! /bin/sh
 #
-# PostgreSQL   Start the pgsql RDMBS.  
+# PostgreSQL   Start, stop, and get status on the PostgreSQL RDMBS.    
+#               This script is Linux distribution independent 
+#                 (or at least should be :).
+# 
+# By Ryan Kirkpatrick .
+#
+# If you find any problems with this script, or have suggestions
+# please send them to me.
+
+# Arguements for pg_ctl and then for the postmaster. Change as needed.
+ARGS="-w -D /home/postgres/data"
+PM_ARGS="-i -F"
+
+# Changes should not be needed beyond this point.
 
+# The path that is to be used for the script.
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+# What to use to start up the postmster, and a few names.
 DAEMON=/home/postgres/bin/pg_ctl
 NAME=postmaster
 FILE=postgresql
-ARGS="-w -D /home/postgres/data -o -i -o -F"
-USER="postgres:postgres"
-LOG="/home/postgres/server.log"
 DESC="PostgreSQL RDBMS"
 
-test -f $DAEMON || exit 0
+# Who to run pg_ctl as, should be postgres.
+USER="postgres:postgres"
 
+# Where to keep a log file.
+LOG="/usr/local/pgsql/server.log"
+
+# Only start if we can find pg_ctl.
+test -f $DAEMON || exit 0
 set -e
 
+# Parse command line parameters.
 case "$1" in
   start)
+   # Start the postmaster using pg_ctl and given options.
    echo -n "Starting $DESC: "
-   su - postgres sh -c "$DAEMON start $ARGS >& $LOG"
+   su - postgres sh -c "$DAEMON start $ARGS -o \"$PM_ARGS\" >& $LOG"
    echo "$NAME."
    ;;
   stop)
+   # Stop the postmaster using pg_ctl.
    echo -n "Stopping $DESC: "
    su - postgres sh -c "$DAEMON stop >& /dev/null"
    echo "$NAME."
    ;;
   restart)
+   # Restart the postmaster by calling ourselves.
    /etc/init.d/$FILE stop
    sleep 5
    /etc/init.d/$FILE start
    ;;
   status)
+   # Print the status of the postmaster.
    su - postgres $DAEMON status
    ;;
   *)
+   # Print help.
    N=/etc/init.d/$FILE
    echo "Usage: $N {start|stop|restart|status}" >&2
    exit 1