From: pavlov Date: Thu, 7 Jun 2007 15:32:21 +0000 (+0000) Subject: correct postgresql.init to newer conventions X-Git-Url: http://207.154.207.93/?a=commitdiff_plain;h=b41e7a725e0f88957fc57fb5837b586707041eda;p=packages.git correct postgresql.init to newer conventions git-svn-id: svn://svn.openwrt.org/openwrt/packages@7518 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/libs/postgresql/files/postgresql.init b/libs/postgresql/files/postgresql.init index be29f1615..a678dc678 100755 --- a/libs/postgresql/files/postgresql.init +++ b/libs/postgresql/files/postgresql.init @@ -2,29 +2,38 @@ # Copyright (C) 2006 OpenWrt.org START=50 +config_load "postgresql" +config_get pgdata config PGDATA +config_get pguser config PGUSER +config_get pgctl config PG_CTL + start() { - config_load "postgresql" if [ ! -e /bin/su ]; then echo "The su command is requred to run postgres" exit 1 fi - config_get pgdata config PGDATA if [ ! -d ${pgdata} ]; then echo "Create the data directory (${pgdata}) and try again" exit 1 fi + # make sure localhost (without a dot) is in /etc/hosts + grep -q 'localhost$' /etc/hosts || echo '127.0.0.1 localhost' >> /etc/hosts + + # for whatever reason, /dev/null gets wrong perms + chmod a+w /dev/null + if [ -f ${pgdata}/postmaster.pid ]; then rm ${pgdata}/postmaster.pid fi - config_get pguser config PGUSER config_get pglog config PGLOG - config_get pgctl config PG_CTL config_get pgopts config PGOPTS - - /bin/su - ${pguser} -c "${pgctl} start -D '${pgdata}' -s -l '${pglog}' -o '${pgopts}'" + if [ -n "${pgopts}" ]; then + pgopts="-o ${pgopts}" + fi + /bin/su ${pguser} -c "${pgctl} start -D ${pgdata} -s -l ${pglog} ${pgopts}" while : do @@ -32,7 +41,7 @@ start() { if [ -f "${pgdata}/postmaster.pid" ]; then ret=0 break - fi + fi if [ ${cnt} -eq 30 ]; then echo "Postgres failed to start. See ${pglog} for details" @@ -44,3 +53,9 @@ start() { return ${ret} } + +stop() { + + /bin/su ${pguser} -c "${pgctl} stop -D '${pgdata}'" + return $? +}