#!/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.1,v 1.4 2007/07/11 08:46:51 dev-zero 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 $? }