From 87a9473276db0d9cfbf6822dd21f66245040be87 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 30 May 2007 18:10:38 +0000 Subject: Update /contrib OS/X startup files, and move to a separate OS/X directory. Mark Cotner and David Fetter --- contrib/start-scripts/PostgreSQL.darwin | 116 -------------------- .../start-scripts/StartupParameters.plist.darwin | 33 ------ contrib/start-scripts/osx/PostgreSQL | 119 +++++++++++++++++++++ contrib/start-scripts/osx/README | 3 + contrib/start-scripts/osx/StartupParameters.plist | 33 ++++++ contrib/start-scripts/osx/install.sh | 10 ++ 6 files changed, 165 insertions(+), 149 deletions(-) delete mode 100755 contrib/start-scripts/PostgreSQL.darwin delete mode 100644 contrib/start-scripts/StartupParameters.plist.darwin create mode 100755 contrib/start-scripts/osx/PostgreSQL create mode 100644 contrib/start-scripts/osx/README create mode 100644 contrib/start-scripts/osx/StartupParameters.plist create mode 100755 contrib/start-scripts/osx/install.sh diff --git a/contrib/start-scripts/PostgreSQL.darwin b/contrib/start-scripts/PostgreSQL.darwin deleted file mode 100755 index 3e4b86a7f3..0000000000 --- a/contrib/start-scripts/PostgreSQL.darwin +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh - -## -# PostgreSQL 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/PostgreSQL/StartupParameters.plist -# -# Next, add this line to the /etc/hostconfig file: -# -# POSTGRESQLSERVER=-YES- -# -# The startup bundle will now be ready to go. To prevent this script from -# starting PostgreSQL at system startup, simply change that line in -# /etc/hostconfig back 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. - -# modified by Ray Aspeitia 12-03-2003 : -# added log rotation script to db startup -# modified StartupParameters.plist "Provides" parameter to make it easier to -# start and stop with the SystemStarter utitlity - -# use the below command in order to correctly start/stop/restart PG with log rotation script: -# SystemStarter [start|stop|restart] PostgreSQL - -################################################################################ -## EDIT FROM HERE -################################################################################ - -# Installation prefix -prefix="/usr/local/pgsql" - -# Data directory -PGDATA="/usr/local/pgsql/data" - -# Who to run the postmaster as, usually "postgres". (NOT "root") -PGUSER="postgres" - -# the logfile path and name (NEEDS to be writeable by PGUSER) -PGLOG="${PGDATA}/logs/logfile" - -# do you want to rotate the log files, 1=true 0=false -ROTATELOGS=1 - -# logfile rotate in seconds -ROTATESEC="604800" - - -################################################################################ -## 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 (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" - -. /etc/rc.common - -StartService () { - if [ "${POSTGRESQLSERVER:=-NO-}" = "-YES-" ]; then - ConsoleMessage "Starting PostgreSQL database server" - if [ "${ROTATELOGS}" = "1" ]; then - sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' | ${LOGUTIL} '${PGLOG}' ${ROTATESEC} &" - else - sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" >>$PGLOG 2>&1 - fi - fi -} - -StopService () { - ConsoleMessage "Stopping PostgreSQL database server" - 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 - sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' | ${LOGUTIL} '${PGLOG}' ${ROTATESEC} &" - else - sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" >>$PGLOG 2>&1 - fi - else - StopService - fi -} - -RunService "$1" diff --git a/contrib/start-scripts/StartupParameters.plist.darwin b/contrib/start-scripts/StartupParameters.plist.darwin deleted file mode 100644 index 6c788d0dda..0000000000 --- a/contrib/start-scripts/StartupParameters.plist.darwin +++ /dev/null @@ -1,33 +0,0 @@ - - - - - Description - PostgreSQL Database Server - Messages - - start - Starting PostgreSQL database server - stop - Stopping PostgreSQL database server - restart - Restarting PostgreSQL database server - - OrderPreference - Late - Provides - - PostgreSQL - - Requires - - Disks - Resolver - - Uses - - NFS - NetworkTime - - - diff --git a/contrib/start-scripts/osx/PostgreSQL b/contrib/start-scripts/osx/PostgreSQL new file mode 100755 index 0000000000..66c11093cf --- /dev/null +++ b/contrib/start-scripts/osx/PostgreSQL @@ -0,0 +1,119 @@ +#!/bin/sh + +## +# PostgreSQL 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/PostgreSQL/StartupParameters.plist +# +# Next, add this line to the /etc/hostconfig file: +# +# POSTGRESQL=-YES- +# +# The startup bundle will now be ready to go. To prevent this script from +# starting PostgreSQL at system startup, simply change that line in +# /etc/hostconfig back to: +# +# POSTGRESQL=-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. + +# modified by Ray Aspeitia 12-03-2003 : +# added log rotation script to db startup +# modified StartupParameters.plist "Provides" parameter to make it easier to +# start and stop with the SystemStarter utitlity + +# use the below command in order to correctly start/stop/restart PG with log rotation script: +# SystemStarter [start|stop|restart] PostgreSQL + +################################################################################ +## EDIT FROM HERE +################################################################################ + +# Installation prefix +prefix="/usr/local/pgsql" + +# Data directory +PGDATA="/usr/local/pgsql/data" + +# Who to run the postmaster as, usually "postgres". (NOT "root") +PGUSER="postgres" + +# the logfile path and name (NEEDS to be writeable by PGUSER) +PGLOG="${PGDATA}/logs/logfile" + +# do you want to rotate the log files, 1=true 0=false +ROTATELOGS=1 + +# logfile rotate in seconds +ROTATESEC="604800" + + +################################################################################ +## STOP EDITING HERE +################################################################################ + +# The path that is to be used for the script +PATH=/usr/local/pgsql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +# 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" + +. /etc/rc.common + +StartService () { + if [ "${POSTGRESQL:=-NO-}" = "-YES-" ]; then + ConsoleMessage "Starting PostgreSQL database server" + cd /Users/postgres + if [ "${ROTATELOGS}" = "1" ]; then + sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' | ${LOGUTIL} '${PGLOG}' ${ROTATESEC} &" + else + sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" >>$PGLOG 2>&1 + fi + fi +} + +StopService () { + ConsoleMessage "Stopping PostgreSQL database server" + cd /Users/postgres + sudo -u $PGUSER $PGCTL stop -D "$PGDATA" -s -m fast +} + +RestartService () { + if [ "${POSTGRESQL:=-NO-}" = "-YES-" ]; then + ConsoleMessage "Restarting PostgreSQL database server" + # should match StopService: + cd /Users/postgres + sudo -u $PGUSER $PGCTL stop -D "$PGDATA" -s -m fast + # should match StartService: + if [ "${ROTATELOGS}" = "1" ]; then + sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' | ${LOGUTIL} '${PGLOG}' ${ROTATESEC} &" + else + sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" >>$PGLOG 2>&1 + fi + else + StopService + fi +} + +RunService "$1" diff --git a/contrib/start-scripts/osx/README b/contrib/start-scripts/osx/README new file mode 100644 index 0000000000..97e299f7da --- /dev/null +++ b/contrib/start-scripts/osx/README @@ -0,0 +1,3 @@ +To install execute the following: + +sudo /bin/sh ./install.sh diff --git a/contrib/start-scripts/osx/StartupParameters.plist b/contrib/start-scripts/osx/StartupParameters.plist new file mode 100644 index 0000000000..6c788d0dda --- /dev/null +++ b/contrib/start-scripts/osx/StartupParameters.plist @@ -0,0 +1,33 @@ + + + + + Description + PostgreSQL Database Server + Messages + + start + Starting PostgreSQL database server + stop + Stopping PostgreSQL database server + restart + Restarting PostgreSQL database server + + OrderPreference + Late + Provides + + PostgreSQL + + Requires + + Disks + Resolver + + Uses + + NFS + NetworkTime + + + diff --git a/contrib/start-scripts/osx/install.sh b/contrib/start-scripts/osx/install.sh new file mode 100755 index 0000000000..bbc5ee3926 --- /dev/null +++ b/contrib/start-scripts/osx/install.sh @@ -0,0 +1,10 @@ +sudo sh -c 'echo "POSTGRESQL=-YES-" >> /etc/hostconfig' +sudo mkdir /Library/StartupItems/PostgreSQL +sudo cp PostgreSQL /Library/StartupItems/PostgreSQL +sudo cp StartupParameters.plist /Library/StartupItems/PostgreSQL +if [ -e /Library/StartupItems/PostgreSQL/PostgreSQL ] +then + echo "Startup Item Installed Successfully . . . " + echo "Starting PostgreSQL Server . . . " + SystemStarter restart PostgreSQL +fi -- cgit v1.2.3