diff options
Diffstat (limited to 'dev-db/postgresql/files/pg_autovacuum.init-8.0.4')
-rw-r--r-- | dev-db/postgresql/files/pg_autovacuum.init-8.0.4 | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/dev-db/postgresql/files/pg_autovacuum.init-8.0.4 b/dev-db/postgresql/files/pg_autovacuum.init-8.0.4 new file mode 100644 index 000000000000..494dd3e2f538 --- /dev/null +++ b/dev-db/postgresql/files/pg_autovacuum.init-8.0.4 @@ -0,0 +1,51 @@ +#!/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/pg_autovacuum.init-8.0.4,v 1.1 2005/10/08 23:06:24 nakano Exp $ + +depend() { + need postgresql logger +} + +start() { + ebegin "Starting pg_autovacuum" + echo "" + echo -n "Waiting max. 10 sec. for postgresql to start " + CONTINUE=0 + TOO_LONG=0 + while [ "$CONTINUE" -eq 0 ] && [ $TOO_LONG -lt 10 ] + 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 -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 see log file: $PG_AUTOVACUUM_LOG" + eerror "You may need to add following lines in /var/lib/postgresql/data/postgresql.conf and restart PostgreSQL." + eerror " stats_start_collector = true" + eerror " stats_row_level = true" + + eerror "Please read ___DOCDIR___/contrib/README.pg_autovacuum for details." + eend 1 + fi +} + +stop() { + ebegin "Stopping pg_autovacuum" + start-stop-daemon --stop --quiet --exec /usr/bin/pg_autovacuum + result=$? + eend $result +} |