Thread: Reg Failover Script in Pgpool

Reg Failover Script in Pgpool

From
Gurunadh Venkata
Date:
Hi list,

I have setup the load balancing and failover for High Availability in pgpool. I
 have used the Master-slave replication(stream mode).

 DB version PPAS 9.4

 pgpool   version 3.3.4

 Os         Rhel 6.4 64bit

 The following is my failover command in pgpool.conf

 failover_command ='/usr/local/etc/failover.sh %d %P %H
 %R'

 Following is the failover script.

 #!/bin/bash -x
 FALLING_NODE=$1         # %d
 OLDPRIMARY_NODE=$2      # %P
 NEW_PRIMARY=$3          # %H
 PGDATA=$4               # %R

 if [ $FALLING_NODE = $OLDPRIMARY_NODE ]; then
     if [ $UID -eq 0 ]
     then
         su enterprisedb -c "ssh -T enterprisedb@$NEW_PRIMARY touch
 $PGDATA/trigger"
     else
         ssh -T enterprisedb@$NEW_PRIMARY touch $PGDATA/trigger
     fi
     exit 0;
 fi;
 exit 0;
 
  And also i have configured the ssh for password less login.

 To check the  failover scenario i have stopped(kill -9) the master db
 server process.According to the script the present salve will take over the
 role of master. But the same was not happening in my case.

From pgpool end

 show pool_nodes;

 o/p:

 edb=# show pool_nodes;
  node_id |  hostname  | port | status | lb_weight |  role
 ---------+------------+------+--------+-----------+---------
  0       | 10.0.0.149 | 5444 | 3      | 0.500000  | standby
  1       | 10.0.0.158 | 5444 | 2      | 0.500000  | standby
 (2 rows)


 Please help me in Fixing this Issue.Provide me the working failover
 script if any.

 Thanks for your time.

Thanks & Regards,
G V Gurunadh.