#!/bin/bash . /etc/rc.conf . /etc/rc.d/functions PGROOT=/var/lib/postgres case "$1" in start) stat_busy "Startuję PostgreSQL" # initialization if [ ! `egrep '^postgres:' /etc/group` ]; then stat_busy "Dodawanie grupy postgres" groupadd -g 88 postgres stat_done fi if [ ! `egrep '^postgres:' /etc/passwd` ]; then stat_busy "Dodawanie użytkownika postgres" useradd -u 88 -g postgres -d $PGROOT -s /bin/bash postgres [ -d $PGROOT ] && chown -R postgres.postgres $PGROOT stat_done fi if [ ! -d $PGROOT ]; then mkdir -p $PGROOT/data && chown postgres.postgres $PGROOT/data su postgres -c "/usr/bin/initdb -D $PGROOT/data" fi if [ ! -e /var/log/postgresql.log ]; then touch /var/log/postgresql.log chown postgres /var/log/postgresql.log fi # start the process su postgres -c \ "/usr/bin/pg_ctl -D $PGROOT/data -l /var/log/postgresql.log -w start" if [ $? -gt 0 ]; then stat_fail else add_daemon postgresql stat_done fi ;; stop) stat_busy "Zatrzymywanie PostgreSQL" su postgres -c \ "/usr/bin/pg_ctl -D $PGROOT/data -l /var/log/postgresql.log -w stop" if [ $? -gt 0 ]; then stat_fail else rm_daemon postgresql stat_done fi ;; restart) $0 stop sleep 3 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac exit 0