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