Hello -

Some users reported a need for this patch to cover the situation with
non-default unix socket directory in PostgreSQL configuration.

-- 
Serge Dubrouski.
--- a/heartbeat/pgsql	2010-06-21 09:41:06.000000000 -0600
+++ b/heartbeat/pgsql	2010-06-21 10:03:04.000000000 -0600
@@ -27,6 +27,7 @@
 OCF_RESKEY_start_opt_default=""
 OCF_RESKEY_pgdb_default=template1
 OCF_RESKEY_logfile_default=/dev/null
+OCF_RESKEY_socketdir_default=""
 OCF_RESKEY_stop_escalate_default=30
 
 : ${OCF_RESKEY_pgctl=${OCF_RESKEY_pgctl_default}}
@@ -39,6 +40,7 @@
 : ${OCF_RESKEY_start_opt=${OCF_RESKEY_start_opt_default}}
 : ${OCF_RESKEY_pgdb=${OCF_RESKEY_pgdb_default}}
 : ${OCF_RESKEY_logfile=${OCF_RESKEY_logfile_default}}
+: ${OCF_RESKEY_socketdir=${OCF_RESKEY_socketdir_default}}
 : ${OCF_RESKEY_stop_escalate=${OCF_RESKEY_stop_escalate_default}}
 
 usage() {
@@ -166,6 +168,14 @@
 <content type="string" default="${OCF_RESKEY_logfile_default}" />
 </parameter>
 
+<parameter name="socketdir" unique="0" required="0">
+<longdesc lang="en">
+Unix socket directory for PostgeSQL
+</longdesc>
+<shortdesc lang="en">socketdir</shortdesc>
+<content type="string" default="${OCF_RESKEY_socketdir_default}" />
+</parameter>
+
 <parameter name="stop_escalate" unique="0" required="0">
 <longdesc lang="en">
 Number of shutdown retries (using -m fast) before resorting to -m immediate
@@ -238,6 +248,11 @@
         ocf_log err "PostgreSQL can't write to the log file: $OCF_RESKEY_logfile"
 	return $OCF_ERR_GENERIC
     fi
+    # Check if we need to create a socket directory
+    if [ -n "$OCF_RESKEY_socketdir" ]
+    then
+        check_socket_dir $OCF_RESKEY_socketdir
+    fi
 
     # Set options passed to pg_ctl
     pgctl_options="$OCF_RESKEY_ctl_opt -D $OCF_RESKEY_pgdata -l $OCF_RESKEY_logfile"
@@ -419,6 +434,17 @@
     return 0
 }
 
+# Check socket directory
+check_socket_dir() {
+    if [ ! -d "$1" ]
+    then
+        mkdir $1
+    fi
+    
+    chmod 2775 $1
+    chown $OCF_RESKEY_pgdba:$(getent passwd $OCF_RESKEY_pgdba | cut -d ":" -f 4) $1
+}
+
 #
 #   'main' starts here...
 #
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to