summaryrefslogtreecommitdiffstats
path: root/abs/extra/postgresql/postgresql.rcd
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2012-08-07 20:45:17 (GMT)
committerJames Meyer <james.meyer@operamail.com>2012-08-07 20:45:17 (GMT)
commit3e6d2f6713bc1e8c87012cba1526f8558e5bf095 (patch)
tree4c024ab576c493003368ab99f466910e0161f298 /abs/extra/postgresql/postgresql.rcd
parent267d2ce652e7b6e2eccb1c26712a895708ebf964 (diff)
downloadlinhes_pkgbuild-3e6d2f6713bc1e8c87012cba1526f8558e5bf095.zip
linhes_pkgbuild-3e6d2f6713bc1e8c87012cba1526f8558e5bf095.tar.gz
linhes_pkgbuild-3e6d2f6713bc1e8c87012cba1526f8558e5bf095.tar.bz2
postgresql 9..14
Diffstat (limited to 'abs/extra/postgresql/postgresql.rcd')
-rwxr-xr-xabs/extra/postgresql/postgresql.rcd79
1 files changed, 79 insertions, 0 deletions
diff --git a/abs/extra/postgresql/postgresql.rcd b/abs/extra/postgresql/postgresql.rcd
new file mode 100755
index 0000000..f3600b3
--- /dev/null
+++ b/abs/extra/postgresql/postgresql.rcd
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/postgresql
+
+# Default PGROOT if it wasn't defined in the conf.d file
+PGROOT=${PGROOT:-/var/lib/postgres}
+PGLOG=${PGLOG:-/var/log/postgresql.log}
+PGCTL_BIN=/usr/bin/pg_ctl
+PGCTL_ARGS=(-D "$PGROOT/data" -l "$PGLOG" -s -w)
+[[ $PGOPTS ]] && PGCTL_ARGS+=(-o "$PGOPTS")
+
+postgres_init() {
+ # initialization
+ if [[ ! -d "$PGROOT/data" ]]; then
+ mkdir -p "$PGROOT/data" && chown -R postgres:postgres "$PGROOT"
+ su - postgres -c "/usr/bin/initdb $INITOPTS -D '$PGROOT/data'"
+ fi
+ if [[ ! -e "$PGLOG" ]]; then
+ touch "$PGLOG"
+ chown postgres "$PGLOG"
+ fi
+}
+
+do_postgres() {
+ su - postgres -c "'$PGCTL_BIN' $(printf '%q ' "${PGCTL_ARGS[@]}" "$@")"
+}
+
+case $1 in
+ start)
+ postgres_init
+ stat_busy "Starting PostgreSQL"
+ if do_postgres start; then
+ add_daemon postgresql
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping PostgreSQL"
+ if do_postgres stop -m fast; then
+ rm_daemon postgresql
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ reload)
+ stat_busy "Reloading PostgreSQL"
+ if do_postgres reload; then
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ restart)
+ postgres_init
+ stat_busy "Restarting PostgreSQL"
+ if do_postgres restart -m fast; then
+ add_daemon postgresql
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ status)
+ stat_busy "Checking PostgreSQL status";
+ ck_status postgresql
+ ;;
+ *)
+ echo "usage: $0 {start|stop|reload|restart|status}"
+ exit 1
+esac