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