mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
b842726fc7
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
83 lines
2.4 KiB
Bash
Executable File
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"
|