mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-11 03:34:37 +08:00
60 lines
1.4 KiB
Bash
Executable File
60 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
. /etc/rc.conf
|
|
. /etc/rc.d/functions
|
|
. /etc/conf.d/postgresql
|
|
|
|
case "$1" in
|
|
start)
|
|
stat_busy "Starting PostgreSQL"
|
|
# initialization
|
|
if [ ! `egrep '^postgres:' /etc/group` ]; then
|
|
stat_busy "Adding postgres group"
|
|
groupadd -g 88 postgres
|
|
stat_done
|
|
fi
|
|
if [ ! `egrep '^postgres:' /etc/passwd` ]; then
|
|
stat_busy "Adding postgres user"
|
|
useradd -u 88 -g postgres -d $PGROOT -s /bin/bash postgres
|
|
[ -d $PGROOT ] && chown -R postgres.postgres $PGROOT
|
|
stat_done
|
|
fi
|
|
if [ ! -d $PGROOT ]; then
|
|
mkdir -p $PGROOT/data && chown -R postgres.postgres $PGROOT/data
|
|
su - postgres -c "/usr/bin/initdb $INITOPTS -D $PGROOT/data"
|
|
fi
|
|
if [ ! -e /var/log/postgresql.log ]; then
|
|
touch /var/log/postgresql.log
|
|
chown postgres /var/log/postgresql.log
|
|
fi
|
|
# start the process
|
|
su - postgres -c \
|
|
"/usr/bin/pg_ctl -D $PGROOT/data -l /var/log/postgresql.log -W start"
|
|
if [ $? -gt 0 ]; then
|
|
stat_fail
|
|
else
|
|
add_daemon postgresql
|
|
stat_done
|
|
fi
|
|
;;
|
|
stop)
|
|
stat_busy "Stopping PostgreSQL"
|
|
su - postgres -c \
|
|
"/usr/bin/pg_ctl -D $PGROOT/data -l /var/log/postgresql.log -w stop"
|
|
if [ $? -gt 0 ]; then
|
|
stat_fail
|
|
else
|
|
rm_daemon postgresql
|
|
stat_done
|
|
fi
|
|
;;
|
|
restart)
|
|
$0 stop
|
|
sleep 3
|
|
$0 start
|
|
;;
|
|
*)
|
|
echo "usage: $0 {start|stop|restart}"
|
|
esac
|
|
exit 0
|