diff options
Diffstat (limited to 'dev-db/postgresql/files/pg_autovacuum.init-8.0')
-rw-r--r-- | dev-db/postgresql/files/pg_autovacuum.init-8.0 | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/dev-db/postgresql/files/pg_autovacuum.init-8.0 b/dev-db/postgresql/files/pg_autovacuum.init-8.0 new file mode 100644 index 0000000..a7b4cb9 --- /dev/null +++ b/dev-db/postgresql/files/pg_autovacuum.init-8.0 @@ -0,0 +1,53 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/pg_autovacuum.init-8.0,v 1.3 2006/11/11 13:39:14 dev-zero Exp $ + +depend() { + need postgresql logger +} + +start() { + ebegin "Starting pg_autovacuum" + + echo + echo -n "Waiting max. 20 sec. for PostgreSQL to start " + CONTINUE=0 + TOO_LONG=0 + while [ "$CONTINUE" -eq 0 ] && [ $TOO_LONG -lt 20 ] + do + psql -U $PGUSER -d template1 -c "SELECT 1" 1> /dev/null 2> /dev/null + if [ "$?" -eq 0 ] + then + CONTINUE=1 + else + echo -n "." + TOO_LONG=`expr $TOO_LONG + 1` + sleep 1 + fi + done + + start-stop-daemon -o --chuid $PGUSER --start --quiet --exec /usr/bin/pg_autovacuum -- -D ${PGPORT:+-p ${PGPORT}} -v $VACUUM_BASE -V $VACUUM_SCALE -s $SLEEP_BASE -S $SLEEP_SCALE -L $PG_AUTOVACUUM_LOG + + sleep 1 + pidof /usr/bin/pg_autovacuum > /dev/null + if [ $? -eq 0 ] ; then + eend 0 + else + eerror + eerror "Please check the $PG_AUTOVACUUM_LOG log file for errors." + eerror "You may need to add the following lines to /var/lib/postgresql/data/postgresql.conf and restart PostgreSQL." + eerror " stats_start_collector = true" + eerror " stats_row_level = true" + eerror + eerror "Please read ___DOCDIR___/contrib/README.pg_autovacuum for details!" + eerror + eend 1 + fi +} + +stop() { + ebegin "Stopping pg_autovacuum" + start-stop-daemon --stop --quiet --exec /usr/bin/pg_autovacuum + eend $? +} |