postgresql/rc.postgresql

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

     1 #!@l_prefix@/bin/openpkg rc
     2 ##
     3 ##  rc.postgresql -- Run-Commands
     4 ##
     6 %config
     7     postgresql_enable="$openpkg_rc_def"
     8     postgresql_flags=""
     9     postgresql_datadir="@l_prefix@/var/postgresql/db"
    10     postgresql_rundir="@l_prefix@/var/postgresql/run"
    11     postgresql_shut_mode="fast"
    12     postgresql_socket_inet="127.0.0.1"
    13     postgresql_socket_unix="@l_prefix@/var/postgresql/run"
    14     postgresql_log_prolog="true"
    15     postgresql_log_epilog="true"
    16     postgresql_log_numfiles="10"
    17     postgresql_log_minsize="1M"
    18     postgresql_log_complevel="9"
    19     postgresql_slony1="no"
    21 %common
    22     postgresql_opts="-h $postgresql_socket_inet -k $postgresql_socket_unix"
    23     postgresql_opts="$postgresql_opts $postgresql_flags"
    24     postgresql_logfile="$postgresql_rundir/postgresql.log"
    25     postgresql_pidfile="$postgresql_datadir/postgresql.pid"
    26     postgresql_slony1_pidfile="$postgresql_rundir/slon.pid"
    27     postgresql_slony1_start () {
    28         ( . @l_prefix@/etc/postgresql/slony1.conf
    29           nohup @l_prefix@/bin/slon \
    30               -d "$SLON_SYNC_LOGLEVEL" -g "$SLON_SYNC_GROUPSIZE" \
    31               -s "$SLON_SYNC_INTERVAL" -t "$SLON_SYNC_TIMEOUT" \
    32               "$SLON_CLUSTER_NAME" \
    33               user="$SLON_CONNECT_USER" password="$SLON_CONNECT_PASS" \
    34               dbname="$SLON_CONNECT_DBNAME" host="$SLON_CONNECT_HOST"
    35               </dev/null >/dev/null 2>&1 &
    36           echo $! >$postgresql_slony1_pidfile
    37         ) >/dev/null 2>&1
    38     }
    39     postgresql_slony1_stop () {
    40         if [ -f $postgresql_slony1_pidfile ]; then
    41             kill -TERM `cat $postgresql_slony1_pidfile`
    42             rm -f $postgresql_slony1_pidfile
    43         fi
    44     }
    45     postgresql_ctl () {
    46         if [ -s $postgresql_pidfile ]; then
    47             kill -0 `head -1 $postgresql_pidfile` >/dev/null 2>&1
    48             if [ $? -ne 0 ]; then
    49                 rm -f $postgresql_pidfile    >/dev/null 2>&1 || true
    50                 rm -f $postgresql_rundir/.s* >/dev/null 2>&1 || true
    51             fi
    52         fi
    53         cmd="$1"; shift
    54         @l_prefix@/bin/pg_ctl $cmd \
    55             -l $postgresql_logfile \
    56             -D $postgresql_datadir \
    57             ${1+"$@"}
    58     }
    60 %status -u @l_rusr@ -o
    61     postgresql_usable="unknown"
    62     postgresql_active="no"
    63     rcService postgresql enable yes && \
    64         postgresql_ctl status >/dev/null && \
    65         postgresql_active="yes"
    66     echo "postgresql_enable=\"$postgresql_enable\""
    67     echo "postgresql_usable=\"$postgresql_usable\""
    68     echo "postgresql_active=\"$postgresql_active\""
    70 %start -p 400 -u @l_rusr@
    71     rcService postgresql enable yes || exit 0
    72     rcService postgresql active yes && exit 0
    73     postgresql_ctl start -o "$postgresql_opts"
    74     if rcVarIsYes postgresql_slony1; then
    75         postgresql_slony1_start
    76     fi
    78 %stop -p 600 -u @l_rusr@
    79     rcService postgresql enable yes || exit 0
    80     rcService postgresql active no  && exit 0
    81     postgresql_ctl stop -m "$postgresql_shut_mode"
    82     if rcVarIsYes postgresql_slony1; then
    83         postgresql_slony1_stop
    84     fi
    86 %restart -p 400 -u @l_rusr@
    87     rcService postgresql enable yes || exit 0
    88     rcService postgresql active no  && exit 0
    89     postgresql_ctl restart -o "$postgresql_opts" -m "$postgresql_shut_mode"
    90     if rcVarIsYes postgresql_slony1; then
    91         postgresql_slony1_stop
    92         postgresql_slony1_start
    93     fi
    95 %reload -p 400 -u @l_rusr@
    96     rcService postgresql enable yes || exit 0
    97     rcService postgresql active no  && exit 0
    98     postgresql_ctl reload
   100 %daily -u @l_rusr@
   101     rcService postgresql enable yes || exit 0
   102     shtool rotate -f \
   103         -n ${postgresql_log_numfiles} -s ${postgresql_log_minsize} -d -c \
   104         -z ${postgresql_log_complevel} -m 600 -o @l_rusr@ -g @l_rgrp@ \
   105         -P "$postgresql_log_prolog" \
   106         -E "$postgresql_log_epilog" \
   107         $postgresql_logfile

mercurial