#!/bin/dash # postgresql database server # Description: Postgresql Database Server # # Note: must run initdb -D /srv/pgsql/data as "postgres" user before # starting the server. Otherwise it won't start. PGDATA=/srv/pgsql/data LOGFILE=/var/log/postgres.log export PGDATA server_cmd_with_log() { touch $LOGFILE chown postgres:postgres $LOGFILE su -c "pg_ctl $1 -l $LOGFILE" postgres } server_cmd() { su -c "pg_ctl $1" postgres } is_up_server() { su -c 'pg_ctl status' postgres > /dev/null } case "$1" in start|restart) server_cmd_with_log "$1" ;; stop|reload) server_cmd "$1" ;; status) is_up_server && echo "postgresql is running." || echo "postgresql is stopped." ;; esac