95 lines
2.0 KiB
Bash
95 lines
2.0 KiB
Bash
#!/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
|