1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
#! /bin/sh
# PostgreSQL boot time startup script for FreeBSD. Copy this file to
# /usr/local/etc/rc.d/postgresql.
# Created through merger of the Linux start script by Ryan Kirkpatrick
# and the script in the FreeBSD ports collection.
# contrib/start-scripts/freebsd
## EDIT FROM HERE
# Installation prefix
prefix=/usr/local/pgsql
# Data directory
PGDATA="/usr/local/pgsql/data"
# Who to run postgres as, usually "postgres". (NOT "root")
PGUSER=postgres
# Where to keep a log file
PGLOG="$PGDATA/serverlog"
## STOP EDITING HERE
# 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 postgres. (If you want the script to wait
# until the server has started, you could use "pg_ctl start" here.)
DAEMON="$prefix/bin/postgres"
# What to use to shut down postgres
PGCTL="$prefix/bin/pg_ctl"
# Only start if we can find postgres.
test -x $DAEMON ||
{
echo "$DAEMON not found"
exit 0
}
case $1 in
start)
su -l $PGUSER -c "$DAEMON -D '$PGDATA' >>$PGLOG 2>&1 &"
echo -n ' postgresql'
;;
stop)
su -l $PGUSER -c "$PGCTL stop -D '$PGDATA' -s"
;;
restart)
su -l $PGUSER -c "$PGCTL stop -D '$PGDATA' -s"
su -l $PGUSER -c "$DAEMON -D '$PGDATA' >>$PGLOG 2>&1 &"
;;
status)
su -l $PGUSER -c "$PGCTL status -D '$PGDATA'"
;;
*)
# Print help
echo "Usage: `basename $0` {start|stop|restart|status}" 1>&2
exit 1
;;
esac
exit 0
|