diff options
Diffstat (limited to 'contrib/start-scripts/freebsd')
-rw-r--r-- | contrib/start-scripts/freebsd | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/contrib/start-scripts/freebsd b/contrib/start-scripts/freebsd index cee56956ce..528fc776c7 100644 --- a/contrib/start-scripts/freebsd +++ b/contrib/start-scripts/freebsd @@ -6,7 +6,7 @@ # Created through merger of the Linux start script by Ryan Kirkpatrick # and the script in the FreeBSD ports collection. -# $PostgreSQL: pgsql/contrib/start-scripts/freebsd,v 1.3 2003/11/29 19:51:35 pgsql Exp $ +# $PostgreSQL: pgsql/contrib/start-scripts/freebsd,v 1.4 2004/10/01 18:30:21 tgl Exp $ ## EDIT FROM HERE @@ -16,7 +16,7 @@ prefix=/usr/local/pgsql # Data directory PGDATA="/usr/local/pgsql/data" -# Who to run pg_ctl as, should be "postgres". +# Who to run the postmaster as, usually "postgres". (NOT "root") PGUSER=postgres # Where to keep a log file @@ -27,24 +27,31 @@ PGLOG="$PGDATA/serverlog" # 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 postmaster -DAEMON="$prefix/bin/pg_ctl" +# What to use to start up the postmaster (we do NOT use pg_ctl for this, +# as it adds no value and can cause the postmaster to misrecognize a stale +# lock file) +DAEMON="$prefix/bin/postmaster" +# What to use to shut down the postmaster +PGCTL="$prefix/bin/pg_ctl" + +# Only start if we can find the postmaster. test -x "$DAEMON" || exit 0 case $1 in start) - su -l $PGUSER -c "$DAEMON start -D '$PGDATA' -s -l $PGLOG" + su -l $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 echo -n ' postgresql' ;; stop) - su -l $PGUSER -c "$DAEMON stop -D '$PGDATA' -s -m fast" + su -l $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast" ;; restart) - su -l $PGUSER -c "$DAEMON restart -D '$PGDATA' -s -m fast" + su -l $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w" + su -l $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 ;; status) - su -l $PGUSER -c "$DAEMON status -D '$PGDATA'" + su -l $PGUSER -c "$PGCTL status -D '$PGDATA'" ;; *) # Print help |