Mercurial > vanilla
view databases/postgresql/postgresql @ 1218:57dc83a39b13
misc: switch back to standard FHS
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 30 Sep 2021 08:58:34 +0200 |
parents | 194681a6d42d |
children |
line wrap: on
line source
#!/bin/busybox sh # # /etc/rc.d/postgresql -- run control script for postgresql # # Copyright (c) 2019 David Demelier <markand@malikania.fr> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # if [ -f /etc/rc.conf ]; then . /etc/rc.conf fi : ${POSTGRESQL_PID:=/var/run/postgresql/postgresql.pid} : ${POSTGRESQL_USER:=postgresql} : ${POSTGRESQL_GROUP:=postgresql} : ${POSTGRESQL_DIR:=/var/db/postgresql} : ${POSTGRESQL_CMD:=/bin/postgres} : ${POSTGRESQL_ARGS:=-D ${POSTGRESQL_DIR}} postgresql_start() { mkdir -p $(dirname $POSTGRESQL_PID) if [ -s $POSTGRESQL_PID ]; then echo "postgresql is already running with pid: $(cat $POSTGRESQL_PID)" else echo "Starting postgresql: $POSTGRESQL_CMD $POSTGRESQL_ARGS" start-stop-daemon \ -Sbmvp $POSTGRESQL_PID \ -c $POSTGRESQL_USER:$POSTGRESQL_GROUP \ -x $POSTGRESQL_CMD -- $POSTGRESQL_ARGS fi } postgresql_init() { mkdir -p $POSTGRESQL_DIR chown $POSTGRESQL_USER:$POSTGRESQL_GROUP $POSTGRESQL_DIR busybox su $POSTGRESQL_USER -lp -c "pg_ctl -D $POSTGRESQL_DIR initdb" } postgresql_status() { if [ -s $POSTGRESQL_PID ]; then echo "postgresql is running with pid: $(cat $POSTGRESQL_PID)" else echo "postgresql is not running" fi } postgresql_stop() { if [ -s $POSTGRESQL_PID ]; then echo "Stopping postgresql." start-stop-daemon -Kqp $POSTGRESQL_PID rm -f $POSTGRESQL_PID fi } postgresql_restart() { postgresql_stop sleep 3 postgresql_start } case $1 in init) postgresql_init ;; start) postgresql_start ;; status) postgresql_status ;; stop) postgresql_stop ;; restart) postgresql_restart ;; *) echo "usage: $(basename $0) init|restart|start|status|stop" ;; esac