diff -r ab839f05db10 resources/OCF/pgsql
--- a/resources/OCF/pgsql Wed Jan 09 15:05:37 2008 -0700
+++ b/resources/OCF/pgsql Fri Feb 15 11:22:30 2008 +0900
@@ -20,6 +20,9 @@
# OCF_RESKEY_pgdb - database to monitor. Default is template1
# OCF_RESKEY_logfile - Path to PostgreSQL log file. Default is /dev/null
# OCF_RESKEY_stop_escalate - Stop waiting time. Default is 30
+# OCF_RESKEY_status_pattern - Pattern for pgrep to check status
+# of the postgesql process if PID file
+# isn't readable
###############################################################################
# Initialization:
@@ -133,6 +136,13 @@ Number of retries (using -m fast) before
stop escalation
+
+
+
+Pattern for pgrep to check status of PostgreSQL if PID file isn't readable
+
+pattern for pgrep
+
@@ -267,7 +277,14 @@ pgsql_stop() {
#
pgsql_status() {
- pgrep -u $OCF_RESKEY_pgdba "postmaster|postgres" >/dev/null 2>&1
+ if [ -r $PIDFILE ]
+ then
+ PID=`head -n 1 $PIDFILE`
+ pgrep -u $OCF_RESKEY_pgdba -f "$OCF_RESKEY_status_pattern" | grep $PID >/dev/null 2>&1
+ return $?
+ fi
+
+ pgrep -u $OCF_RESKEY_pgdba -f "$OCF_RESKEY_status_pattern" >/dev/null 2>&1
}
#
@@ -355,9 +372,11 @@ fi
: ${OCF_RESKEY_pgdata=/var/lib/pgsql/data}
: ${OCF_RESKEY_pgdba=postgres}
: ${OCF_RESKEY_pgport=5432}
+: ${OCF_RESKEY_start_opt="-p $OCF_RESKEY_pgport"}
: ${OCF_RESKEY_pgdb=template1}
: ${OCF_RESKEY_logfile=/dev/null}
: ${OCF_RESKEY_stop_escalate=30}
+: ${OCF_RESKEY_status_pattern="postmaster|postgres"}
PIDFILE=${OCF_RESKEY_pgdata}/postmaster.pid
@@ -375,7 +394,6 @@ case "$1" in
monitor) if ! pgsql_validate_all
then
- echo "Not running!"
exit $OCF_NOT_RUNNING
else
pgsql_monitor