aboutsummaryrefslogtreecommitdiff
path: root/databases/postgresql84-server/files/pgsql.sh.tmpl
diff options
context:
space:
mode:
Diffstat (limited to 'databases/postgresql84-server/files/pgsql.sh.tmpl')
-rw-r--r--databases/postgresql84-server/files/pgsql.sh.tmpl95
1 files changed, 51 insertions, 44 deletions
diff --git a/databases/postgresql84-server/files/pgsql.sh.tmpl b/databases/postgresql84-server/files/pgsql.sh.tmpl
index 3f8706d6af0c..b3e33352de07 100644
--- a/databases/postgresql84-server/files/pgsql.sh.tmpl
+++ b/databases/postgresql84-server/files/pgsql.sh.tmpl
@@ -2,50 +2,57 @@
# $FreeBSD$
#
-# For postmaster startup options, edit $PGDATA/postgresql.conf
+# PROVIDE: postgresql
+# REQUIRE: LOGIN
+# KEYWORD: FreeBSD shutdown
#
-# Note that PGDATA is set in ~pgsql/.profile, don't try to manipulate it here!
+# Add the following line to /etc/rc.conf to enable PostgreSQL:
#
+# postgresql_enable="YES"
+# # optional
+# postgresql_data="%%PREFIX%%/pgsql/data"
+# postgresql_flags="-w -s -m fast"
+#
+# This scripts takes one of the following commands:
+#
+# start stop restart reload status initdb
+#
+# For postmaster startup options, edit ${postgresql_data}/postgresql.conf
+
+prefix=%%PREFIX%%
+
+. %%RC_SUBR%%
+
+
+# set defaults
+postgresql_enable=${postgresql_enable:-"NO"}
+postgresql_flags=${postgresql_flags:-"-w -s -m fast"}
+postgresql_user=pgsql
+eval postgresql_data=${postgresql_data:-"~${postgresql_user}/data"}
+
+name=postgresql
+rcvar=`set_rcvar`
+command=${prefix}/bin/pg_ctl
+command_args="-D ${postgresql_data} ${postgresql_flags} $1"
+extra_commands="reload initdb"
+
+start_cmd="postgresql_command start"
+stop_cmd="postgresql_command stop"
+restart_cmd="postgresql_command restart"
+reload_cmd="postgresql_command reload"
+status_cmd="postgresql_command status"
+
+initdb_cmd="postgresql_initdb"
+
+postgresql_command()
+{
+ su -m ${postgresql_user} -c "exec ${command} ${command_args}"
+}
+
+postgresql_initdb()
+{
+ su -l ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
+}
-PREFIX=%%PREFIX%%
-PGBIN=${PREFIX}/bin
-
-case $1 in
-start)
- [ -x ${PGBIN}/pg_ctl ] && {
- echo -n ' pgsql'
- su -l pgsql -c \
- "[ -d \${PGDATA} ] && exec ${PREFIX}/bin/pg_ctl start -s -w"
- }
- ;;
-
-stop)
- [ -x ${PGBIN}/pg_ctl ] && {
- echo -n ' pgsql'
- su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl stop -s -m fast"
- }
- ;;
-
-restart)
- [ -x ${PGBIN}/pg_ctl ] && {
- exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl restart -s -m fast"
- }
- ;;
-
-reload)
- [ -x ${PGBIN}/pg_ctl ] && {
- exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl reload"
- }
- ;;
-
-status)
- [ -x ${PGBIN}/pg_ctl ] && {
- exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl status"
- }
- ;;
-
-*)
- echo "usage: `basename $0` {start|stop|restart|reload|status}" >&2
- exit 64
- ;;
-esac
+load_rc_config postgresql
+run_rc_command "$1"