diff options
Diffstat (limited to 'network/pgbouncer/rc.pgbouncer')
-rw-r--r-- | network/pgbouncer/rc.pgbouncer | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/network/pgbouncer/rc.pgbouncer b/network/pgbouncer/rc.pgbouncer new file mode 100644 index 0000000000..d547e42e80 --- /dev/null +++ b/network/pgbouncer/rc.pgbouncer @@ -0,0 +1,94 @@ +#!/bin/sh + +# Start/stop/restart pgbouncer - Lightweight connection pooler for PostgreSQL. +# Copyright (c) 2015, Antonio Hernández Blas <hba.nihilismus@gmail.com> + +# +# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +# Version 2, December 2004 +# +# Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> +# +# Everyone is permitted to copy and distribute verbatim or modified +# copies of this license document, and changing it is allowed as long +# as the name is changed. +# +# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +# +# 0. You just DO WHAT THE FUCK YOU WANT TO. +# + +CONF='/etc/pgbouncer/pgbouncer.ini' +CMMD="/usr/bin/pgbouncer -d -q" + +pgbouncer_start() { + CMMD="$CMMD $CONF" + if [ -x /usr/bin/pgbouncer ]; then + if [ -f $CONF ]; then + PIDOF=$(pgrep -f "$CMMD.*$CONF") + if [ ! -z "$PIDOF" ]; then + echo "Error, pgbouncer is already running." + else + echo "Starting pgbouncer: $CMMD" + $CMMD + fi + else + echo "Error, file $CONF does not exist." + fi + fi +} + +pgbouncer_stop() { + PIDOF=$(pgrep -f "$CMMD.*$CONF") + if [ -z "$PIDOF" ]; then + echo "Error, pgbouncer is not running." + else + echo "Stoping pgbouncer: /bin/kill -s SIGINT $PIDOF" + /bin/kill -s SIGINT $PIDOF + fi +} + +pgbouncer_status() { + PIDOF=$(pgrep -f "$CMMD.*$CONF") + if [ ! -z "$PIDOF" ]; then + echo "pgbouncer is running." + else + echo "pgbouncer is not running." + fi +} + +pgbouncer_online_restart() { + PIDOF=$(pgrep -f "$CMMD.*$CONF") + if [ ! -z "$PIDOF" ]; then + CMMD="$CMMD -R $CONF" + echo "Online restarting pgbouncer: $CMMD" + $CMMD + else + echo "Error, pgbouncer is not running." + fi +} + +case $1 in + start) + pgbouncer_start + ;; + stop) + pgbouncer_stop + ;; + restart) + pgbouncer_stop + sleep 3 + pgbouncer_start + ;; + online-restart) + pgbouncer_online_restart + ;; + status) + pgbouncer_status + ;; + *) + echo "Usage $0 {start|stop|restart|status|online-restart}" + exit 1 + ;; +esac |