diff options
Diffstat (limited to 'dev-db/postgresql/files/postgresql.init-8.3')
-rw-r--r-- | dev-db/postgresql/files/postgresql.init-8.3 | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/dev-db/postgresql/files/postgresql.init-8.3 b/dev-db/postgresql/files/postgresql.init-8.3 new file mode 100644 index 000000000000..c7a4221b0b15 --- /dev/null +++ b/dev-db/postgresql/files/postgresql.init-8.3 @@ -0,0 +1,57 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/postgresql.init-8.3,v 1.1 2008/03/26 14:01:25 caleb Exp $ + +opts="${opts} reload" + +depend() { + use net +} + +checkconfig() { + if [ ! -d "$PGDATA" ] ; then + eerror "Directory not found: $PGDATA" + eerror "Please make sure that PGDATA points to the right path." + eerror "You can run 'emerge postgresql --config' to setup a new database cluster." + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting PostgreSQL" + + if [ -f "$PGDATA/postmaster.pid" ] ; then + rm -f "$PGDATA/postmaster.pid" + fi + + start-stop-daemon --start \ + --pidfile "${PGDATA}/postmaster.pid" \ + --chuid ${PGUSER}:${PGGROUP} \ + --exec /usr/bin/postmaster \ + -- \ + -D "${PGDATA}" \ + --silent-mode=true \ + ${PGOPTS} + + eend $? +} + +stop() { + ebegin "Stopping PostgreSQL" + # Note: we have to do --oknodo here, otherwise it will always fail + # when there are open transactions. This bug has been corrected + # in baselayout-1.13.0_alpha8. + start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" \ + --retry -TERM/${WAIT_FOR_DISCONNECT}/-INT/${WAIT_FOR_CLEANUP}/-QUIT --oknodo + eend $? +} + +reload() { + ebegin "Reloading PostgreSQL configuration" + start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" --signal HUP --oknodo + eend $? +} + |