postgresql/rc.postgresql

Tue, 28 Aug 2012 18:36:35 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 28 Aug 2012 18:36:35 +0200
changeset 579
6b18bb69901e
permissions
-rw-r--r--

Correct the paths of patched scripts, refine password generation,
mitigate fdatasync(2) detection problems, correct dependencies, remove
outdated autoconf components, correct conf file paths and attributes,
complete and correct log file rotation handing, and note warnings
useful for diagnosing builds.

     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