mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
70 lines
1.6 KiB
Bash
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
|