postgresql/contrib/start-scripts/PostgreSQL.darwin
Bruce Momjian b842726fc7 I've simplified the Darwin/Mac OS X startup script I submitted earlier
in the year. This version has only the two files required by the Darwin
startup bundle design. Plus the sh script now uses Darwin-standard
functions to start up PostgreSQL, and it checks for the presence of a
variable in /etc/hostconfig, as do other Darwin startup scripts.

I suggest that a new directory be created,
contrib/start-scripts/darwin, and that these two files be put into it.
Folks who want to use the script can read the comments inside it to
figure out how to use it.

David Wheeler
2002-12-09 21:26:09 +00:00

83 lines
2.4 KiB
Bash
Executable File

#!/bin/sh
##
# PotgreSQL RDBMS Server
##
# PostgreSQL boot time startup script for Darwin/Mac OS X. To install, change
# the "prefix", "PGDATA", "PGUSER", and "PGLOG" variables below as
# necessary. Next, create a new directory, "/Library/StartupItems/PostgreSQL".
# Then copy this script and the accompanying "StartupParameters.plist" file
# into that directory. The name of this script file *must* be the same as the
# directory it is in. So you'll end up with these two files:
#
# /Library/StartupItems/PostgreSQL/PostgreSQL
# /Library/StartupItems/PostgreSQLStartupParameters.plist
#
# Next, add this line to the /etc/hostconfig file:
#
# POSTGRESQLSERVER=-YES-
#
# The startup bundle will now be read to go. To prevent this script from
# starting PostgreSQL at system startup, simply change that line in
# /etc/hostconfig to:
#
# POSTGRESQLSERVER=-NO-
#
# For more information on Darwin/Mac OS X startup bundles, see this article:
#
# http://www.opensource.apple.com/projects/documentation/howto/html/SystemStarter_HOWTO.html
#
# Created by David Wheeler, 2002.
################################################################################
## EDIT FROM HERE
################################################################################
# Installation prefix
prefix=/usr/local/pgsql
# Data directory
PGDATA="/usr/local/pgsql/data"
# Who to run pg_ctl as, should be "postgres".
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 the postmaster
DAEMON="$prefix/bin/pg_ctl"
. /etc/rc.common
StartService () {
if [ "${POSTGRESQLSERVER:=-NO-}" = "-YES-" ]; then
ConsoleMessage "Starting PostgreSQL database server"
sudo -u $PGUSER $DAEMON start -D "$PGDATA" -s -l $PGLOG
fi
}
StopService () {
ConsoleMessage "Stopping PostgreSQL database server"
sudo -u $PGUSER $DAEMON stop -D "$PGDATA" -s -m fast
}
RestartService () {
if [ "${POSTGRESQLSERVER:=-NO-}" = "-YES-" ]; then
ConsoleMessage "Restarting PostgreSQL database server"
sudo -u $PGUSER $DAEMON restart -D "$PGDATA" -s -m fast
else
StopService
fi
}
RunService "$1"