# 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"
# the logfile path and name (NEEDS to be writeable by PGUSER)
# 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"
# The apache log rotation utility
LOGUTIL="/usr/sbin/rotatelogs"
if [ "${POSTGRESQLSERVER:=-NO-}" = "-YES-" ]; then
ConsoleMessage "Starting PostgreSQL database server"
if [ "${ROTATELOGS}" = "1" ]; then
- sudo -u $PGUSER sh -c "${DAEMON} start -D ${PGDATA} -s | ${LOGUTIL} ${PGLOG} ${ROTATESEC} &"
+ sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' | ${LOGUTIL} '${PGLOG}' ${ROTATESEC} &"
else
- sudo -u $PGUSER $DAEMON start -D "$PGDATA" -s -l $PGLOG
+ sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" >>$PGLOG 2>&1
fi
fi
}
StopService () {
ConsoleMessage "Stopping PostgreSQL database server"
- sudo -u $PGUSER $DAEMON stop -D "$PGDATA" -s -m fast
+ sudo -u $PGUSER $PGCTL stop -D "$PGDATA" -s -m fast
}
RestartService () {
if [ "${POSTGRESQLSERVER:=-NO-}" = "-YES-" ]; then
ConsoleMessage "Restarting PostgreSQL database server"
+ # should match StopService:
+ sudo -u $PGUSER $PGCTL stop -D "$PGDATA" -s -m fast
+ # should match StartService:
if [ "${ROTATELOGS}" = "1" ]; then
-# StopService
-# StartService
- sudo -u $PGUSER sh -c "${DAEMON} restart -D ${PGDATA} -s -m fast | ${LOGUTIL} ${PGLOG} ${ROTATESEC} &"
+ sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' | ${LOGUTIL} '${PGLOG}' ${ROTATESEC} &"
else
- sudo -u $PGUSER $DAEMON restart -D "$PGDATA" -s -m fast
+ sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" >>$PGLOG 2>&1
fi
else
StopService