diff options
author | James Meyer <james.meyer@operamail.com> | 2012-08-07 20:45:17 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2012-08-07 20:45:17 (GMT) |
commit | 3e6d2f6713bc1e8c87012cba1526f8558e5bf095 (patch) | |
tree | 4c024ab576c493003368ab99f466910e0161f298 /abs/extra/postgresql/postgresql.rcd | |
parent | 267d2ce652e7b6e2eccb1c26712a895708ebf964 (diff) | |
download | linhes_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-x | abs/extra/postgresql/postgresql.rcd | 79 |
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 |