#! /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