postgresql/contrib/init.d/postgresql
2001-02-06 21:38:43 +00:00

70 lines
1.6 KiB
Bash

#! /bin/sh
#
# 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=/usr/local/pgsql/bin/pg_ctl
NAME=postmaster
FILE=postgresql
DESC="PostgreSQL RDBMS"
# 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 -o \"$PM_ARGS\" $LOG 2>&1"
echo "$NAME."
;;
stop)
# Stop the postmaster using pg_ctl.
echo -n "Stopping $DESC: "
su - postgres sh -c "$DAEMON stop > /dev/null 2>&1"
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}" 1>&2
exit 1
;;
esac
exit 0