]> TLD Linux GIT Repositories - packages/postgresql.git/blobdiff - postgresql.init
- updated to 12.3
[packages/postgresql.git] / postgresql.init
index d3476e2184c719aaebcb73ea5d9deb399ff8fb38..394692c0f613a51b3eed459a47acbdcdfbefc58c 100644 (file)
@@ -21,10 +21,10 @@ cd /
 PG_INIT_LOCALE=C
 
 # Get service config
-if [ -f /etc/sysconfig/postgresql ]; then
-       . /etc/sysconfig/postgresql
+if [ -f /etc/sysconfig/postgresql-@pgsqlversion@ ]; then
+       . /etc/sysconfig/postgresql-@pgsqlversion@
 else
-       nls "Error: %s not found" /etc/sysconfig/postgresql
+       nls "Error: %s not found" /etc/sysconfig/postgresql-@pgsqlversion@
        nls " PostgreSQL can't be run."
        exit 1
 fi
@@ -73,10 +73,10 @@ fi
 pgstatus() {
        PG_STATUS="unknown"
        PG_PID="unknown"
-       output=$(LC_ALL=C TMPDIR=/tmp su postgres -c "/usr/bin/pg_ctl -D $1 status")
+       output=$(LC_ALL=C TMPDIR=/tmp su postgres -c "@pgsqlbindir@/pg_ctl -D $1 status")
        status=$?
 
-       if [ $status -eq 1 ]; then
+       if [ $status -eq 3 ]; then
                PG_STATUS="not running"
        elif [ $status -eq 0 ]; then
                PG_STATUS="running"
@@ -94,7 +94,7 @@ pgstatus() {
 pgstart() {
        is_no "$RC_LOGGING" && fork=--fork
        msg_starting "PostgreSQL $1"
-       daemon $fork --user postgres /usr/bin/pg_ctl -s -w -D $1 start
+       daemon $fork --user postgres @pgsqlbindir@/pg_ctl -s -w -D $1 start
 }
 
 #
@@ -106,11 +106,11 @@ pgsubsys() {
        for pgdir in $PG_DB_CLUSTERS; do
                pgstatus "$pgdir"
                if [ "$PG_STATUS" = "running" ]; then
-                       touch /var/lock/subsys/postgresql
+                       touch /var/lock/subsys/postgresql-@pgsqlversion@
                        return
                fi
        done
-       rm -f /var/lock/subsys/postgresql
+       rm -f /var/lock/subsys/postgresql-@pgsqlversion@
 }
 
 #
@@ -123,7 +123,7 @@ start() {
                if [ "$PG_STATUS" = "running" ]; then
                        # pg_ctl status can misinform us about postgresql status
                        # so let's check if postmaster is really alive
-                       if ps -p "$PG_PID" >/dev/null; then
+                       if ps -p "$PG_PID" 1>/dev/null 2>&1; then
                                msg_already_running "PostgreSQL $pgdir"
                        else
                                # pg_ctl has misinformed us about postgresql status;
@@ -148,8 +148,8 @@ stop() {
                        msg_stopping "PostgreSQL $pgdir"
                        busy
                        # is postgresql really alive?
-                       if ps -p "$PG_PID" >/dev/null; then
-                               TMPDIR=/tmp su postgres -c "/usr/bin/pg_ctl -w -D $pgdir stop -m fast 2>&1 >/dev/null"
+                       if ps -p "$PG_PID" 1>/dev/null 2>&1; then
+                               TMPDIR=/tmp su postgres -c "@pgsqlbindir@/pg_ctl -w -D $pgdir stop -m fast 1>/dev/null 2>&1"
                                pgstatus "$pgdir"
                                if [ "$PG_STATUS" != "not running" ]; then
                                        fail
@@ -214,8 +214,8 @@ case "$action" in
                        msg_reloading "PostgreSQL $pgdir"
                        busy
                        # is postgresql really alive?
-                       if ps -p "$PG_PID" >/dev/null; then
-                               TMPDIR=/tmp su postgres -c "/usr/bin/pg_ctl -D $pgdir $pgctlact 2>&1 >/dev/null"
+                       if ps -p "$PG_PID" 1>/dev/null 2>&1; then
+                               TMPDIR=/tmp su postgres -c "@pgsqlbindir@/pg_ctl -D $pgdir $pgctlact 1>/dev/null 2>&1"
                                        pgstatus "$pgdir"
                                if [ "$PG_STATUS" = "running" ]; then
                                        ok
@@ -249,7 +249,7 @@ case "$action" in
                        mkdir -p $pgdir
                        chmod 700 $pgdir
                        chown postgres:postgres $pgdir
-                       LC_ALL=$PG_INIT_LOCALE TMPDIR=/tmp su postgres -s /bin/sh -c "initdb -E UNICODE --data-checksums -D $pgdir"
+                       LC_ALL=$PG_INIT_LOCALE TMPDIR=/tmp su postgres -s /bin/sh -c "@pgsqlbindir@/initdb -E UNICODE --data-checksums -D $pgdir"
                fi
        done
        echo $(nls "REMEMBER to setup password for user \"postgres\"")'!'