#!/sbin/runscript # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-db/pgcluster/files/pgcluster.init-1.3.0c,v 1.1 2005/05/10 06:40:37 nakano Exp $ opts="${opts} reload" depend() { use net } checkconfig() { if [ ! -d $PGDATA ]; then eerror "directory not found: $PGDATA" eerror "You should create PGDATA directory first." return 1 fi } start_recover() { ebegin "Starting PGCluster" if [ -f $PGDATA/postmaster.pid ]; then rm $PGDATA/postmaster.pid fi su - $PGUSER -c "/usr/bin/pg_ctl start -D '$PGDATA' -s -l '$PGLOG' -o '$PGOPTS -R'" while : do cnt=$(($cnt + 1)) if [ -f "$PGDATA/postmaster.pid" ]; then ret=0 break fi if [ $cnt -eq 30 ]; then eerror "Please see log file: $PGLOG" ret=1 break fi sleep 1 done eend $ret } start() { checkconfig || return 1 ebegin "Starting PGCluster" if [ -f $PGDATA/postmaster.pid ]; then rm $PGDATA/postmaster.pid fi su - $PGUSER -c "/usr/bin/pg_ctl start -D '$PGDATA' -s -l '$PGLOG' -o '$PGOPTS'" while : do cnt=$(($cnt + 1)) if [ -f "$PGDATA/postmaster.pid" ]; then ret=0 break fi if [ $cnt -eq 30 ]; then eerror "Please see log file: $PGLOG" ret=1 break fi sleep 1 done eend $ret } stop() { ebegin "Stopping PGCluster" su - $PGUSER -c "/usr/bin/pg_ctl stop -D '$PGDATA' -s -m fast" eend $? } svc_restart() { ebegin "Restarting PGCluster" su - $PGUSER -c "/usr/bin/pg_ctl restart -D '$PGDATA' -s -m fast -l '$PGLOG' -o '$PGOPTS'" eend $? } reload() { ebegin "Reloading PGCluster configuration" su - $PGUSER -c "/usr/bin/pg_ctl reload -D '$PGDATA' -s" eend $? }