summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/postgresql/files/postgresql.init-8.3')
-rw-r--r--dev-db/postgresql/files/postgresql.init-8.357
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 $?
+}
+