diff options
Diffstat (limited to 'dev-db/postgresql/files/postgresql.init-7.3')
-rw-r--r-- | dev-db/postgresql/files/postgresql.init-7.3 | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/dev-db/postgresql/files/postgresql.init-7.3 b/dev-db/postgresql/files/postgresql.init-7.3 new file mode 100644 index 000000000000..82f32fd272e4 --- /dev/null +++ b/dev-db/postgresql/files/postgresql.init-7.3 @@ -0,0 +1,63 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/postgresql.init-7.3,v 1.1 2006/07/30 22:30:54 chtekk 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() { + checkconfig || return 1 + + ebegin "Starting PostgreSQL" + 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 PostgreSQL" + su - $PGUSER -c "/usr/bin/pg_ctl stop -D '$PGDATA' -s -m fast" + eend $? +} + +svc_restart() { + ebegin "Restarting PostgreSQL" + su - $PGUSER -c "/usr/bin/pg_ctl restart -D '$PGDATA' -s -m fast -l '$PGLOG' -o '$PGOPTS'" + eend $? +} + +reload() { + ebegin "Reloading PostgreSQL configuration" + su - $PGUSER -c "/usr/bin/pg_ctl reload -D '$PGDATA' -s" + eend $? +} |