summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2001-02-01 18:31:10 +0000
committerBruce Momjian2001-02-01 18:31:10 +0000
commit58f882d4b22193755918704971e93c2ed1e107f4 (patch)
tree3a6048836bff7f1c0c750edd9ca8e79797a44b18
parentc9ecf3d1f15448da62555a971446e5ddef7a1a91 (diff)
Please replace with the one attached to this email message. The
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
-rw-r--r--contrib/init.d/postgresql37
1 files changed, 31 insertions, 6 deletions
diff --git a/contrib/init.d/postgresql b/contrib/init.d/postgresql
index 205ccda4325..ab81a24f6ef 100644
--- a/contrib/init.d/postgresql
+++ b/contrib/init.d/postgresql
@@ -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 <pgsql@rkirkpat.net>.
+#
+# 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