<div dir="ltr"><div class="gmail_quote"><br><div class="msg1458360241130489308">





<div lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="m_6966449964829263242WordSection1">
<p class="MsoNormal">Hello Team,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">My PGPOOL II 2 node configuration works perfectly when both nodes are up, I can ping to my Delegate IP also connect clients through Delegate IP etc..<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">But when I shutdown Master PGPOOL II node, and it fails over to STANDBY NODE (which is now New Master) am unable to ping/connect using delegate IP<u></u><u></u></p>
<p class="MsoNormal">From remote client, I can ping locally in the new Master and connect, but not from clients, 
<u></u><u></u></p>
<p class="MsoNormal">Basically, as soon as I stop master node, the delegated IP stops responding. As a result, databases are unavailable.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Bcoz of this issue am unable to implement HA for PGPOOL II nodes,  can you please advise…<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> Thanks in advance.<u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u>NOTES:<u></u></p><p class="MsoNormal"><br></p><p class="MsoNormal">PGPOOL II NODES:<br></p><p class="MsoNormal"><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">rn000110724 - <span style="color:#ed7d31">10.50.28.58 - MASTER NODE</span>:<u></u><u></u></p>
<p class="MsoNormal">rn000110733 – <span style="color:#4472c4">10.201.36.72 – STANDBY NODE</span><u></u><u></u></p>
<p class="MsoNormal">Delegate IP : 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">sh-4.4# pcp_watchdog_info -h 10.50.28.58 -p 9898 -U pgpcp -v<u></u><u></u></p>
<p class="MsoNormal">Password: <u></u><u></u></p>
<p class="MsoNormal">Watchdog Cluster Information <u></u><u></u></p>
<p class="MsoNormal">Total Nodes          : 2<u></u><u></u></p>
<p class="MsoNormal">Remote Nodes         : 1<u></u><u></u></p>
<p class="MsoNormal">Quorum state         : QUORUM EXIST<u></u><u></u></p>
<p class="MsoNormal">Alive Remote Nodes   : 1<u></u><u></u></p>
<p class="MsoNormal">VIP up on local node : YES<u></u><u></u></p>
<p class="MsoNormal">Master Node Name     : rn000110724:9999 Linux rn000110724<u></u><u></u></p>
<p class="MsoNormal">Master Host Name     : rn000110724<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Watchdog Node Information <u></u><u></u></p>
<p class="MsoNormal">Node Name      : rn000110724:9999 Linux rn000110724<u></u><u></u></p>
<p class="MsoNormal">Host Name      : rn000110724<u></u><u></u></p>
<p class="MsoNormal">Delegate IP    : 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal">Pgpool port    : 9999<u></u><u></u></p>
<p class="MsoNormal">Watchdog port : 9000<u></u><u></u></p>
<p class="MsoNormal">Node priority : 0<u></u><u></u></p>
<p class="MsoNormal">Status         : 4<u></u><u></u></p>
<p class="MsoNormal">Status Name    : MASTER<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Node Name      : rn000110733:9999 Linux rn000110733<u></u><u></u></p>
<p class="MsoNormal">Host Name      : rn000110733<u></u><u></u></p>
<p class="MsoNormal">Delegate IP    : 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal">Pgpool port    : 9999<u></u><u></u></p>
<p class="MsoNormal">Watchdog port : 9000<u></u><u></u></p>
<p class="MsoNormal">Node priority : 0<u></u><u></u></p>
<p class="MsoNormal">Status         : 7<u></u><u></u></p>
<p class="MsoNormal">Status Name    : STANDBY<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">sh-4.4# pcp_watchdog_info -h 10.201.36.72 -p 9898 -U pgpcp -v<u></u><u></u></p>
<p class="MsoNormal">Password: <u></u><u></u></p>
<p class="MsoNormal">Watchdog Cluster Information <u></u><u></u></p>
<p class="MsoNormal">Total Nodes          : 2<u></u><u></u></p>
<p class="MsoNormal">Remote Nodes         : 1<u></u><u></u></p>
<p class="MsoNormal">Quorum state         : QUORUM EXIST<u></u><u></u></p>
<p class="MsoNormal">Alive Remote Nodes   : 1<u></u><u></u></p>
<p class="MsoNormal">VIP up on local node : NO<u></u><u></u></p>
<p class="MsoNormal">Master Node Name     : rn000110724:9999 Linux rn000110724<u></u><u></u></p>
<p class="MsoNormal">Master Host Name     : rn000110724<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Watchdog Node Information <u></u><u></u></p>
<p class="MsoNormal">Node Name      : rn000110733:9999 Linux rn000110733<u></u><u></u></p>
<p class="MsoNormal">Host Name      : rn000110733<u></u><u></u></p>
<p class="MsoNormal">Delegate IP    : 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal">Pgpool port    : 9999<u></u><u></u></p>
<p class="MsoNormal">Watchdog port : 9000<u></u><u></u></p>
<p class="MsoNormal">Node priority : 0<u></u><u></u></p>
<p class="MsoNormal">Status         : 7<u></u><u></u></p>
<p class="MsoNormal">Status Name    : STANDBY<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Node Name      : rn000110724:9999 Linux rn000110724<u></u><u></u></p>
<p class="MsoNormal">Host Name      : rn000110724<u></u><u></u></p>
<p class="MsoNormal">Delegate IP    : 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal">Pgpool port    : 9999<u></u><u></u></p>
<p class="MsoNormal">Watchdog port : 9000<u></u><u></u></p>
<p class="MsoNormal">Node priority : 0<u></u><u></u></p>
<p class="MsoNormal">Status         : 4<u></u><u></u></p>
<p class="MsoNormal">Status Name    : MASTER<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">rn000110724 - 10.50.28.58  - Master node:<u></u><u></u></p>
<p class="MsoNormal">sh-4.4# ifconfig<u></u><u></u></p>
<p class="MsoNormal">eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500<u></u><u></u></p>
<p class="MsoNormal">        inet 10.50.28.58  netmask 255.255.252.0  broadcast 10.50.31.255<u></u><u></u></p>
<p class="MsoNormal">        ether 00:50:56:a8:27:eb  txqueuelen 1000  (Ethernet)<u></u><u></u></p>
<p class="MsoNormal">        RX packets 768864  bytes 120999407 (115.3 MiB)<u></u><u></u></p>
<p class="MsoNormal">        RX errors 0  dropped 0  overruns 0  frame 0<u></u><u></u></p>
<p class="MsoNormal">        TX packets 343573  bytes 123312342 (117.5 MiB)<u></u><u></u></p>
<p class="MsoNormal">        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500<u></u><u></u></p>
<p class="MsoNormal">        inet 10.50.28.80  netmask 255.255.255.0  broadcast 0.0.0.0<u></u><u></u></p>
<p class="MsoNormal">        ether 00:50:56:a8:27:eb  txqueuelen 1000  (Ethernet)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Can ping/connect using  Delegate IP from Remote host:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">/usr/bin/psql -h 10.50.28.80  -p 9999 -d postgres -U pgpool<u></u><u></u></p>
<p class="MsoNormal">Password for user pgpool:<u></u><u></u></p>
<p class="MsoNormal">psql (14.2)<u></u><u></u></p>
<p class="MsoNormal">postgres=# \l<u></u><u></u></p>
<p class="MsoNormal">                                 List of databases<u></u><u></u></p>
<p class="MsoNormal">     Name      |  Owner   | Encoding | Collate | Ctype |     Access privileges     
<u></u><u></u></p>
<p class="MsoNormal">---------------+----------+----------+---------+-------+----------------------------<u></u><u></u></p>
<p class="MsoNormal">postgres      | postgres | UTF8     | C       | C     | <u></u>
<u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">postgres=# show pool_nodes ;<u></u><u></u></p>
<p class="MsoNormal">node_id |  hostname   | port | status | lb_weight |  role   | select_cnt | load_balance_node | replication_delay | replication_state | replication_sync_s<u></u><u></u></p>
<p class="MsoNormal">tate | last_status_change  <u></u><u></u></p>
<p class="MsoNormal">---------+-------------+------+--------+-----------+---------+------------+-------------------+-------------------+-------------------+-------------------<u></u><u></u></p>
<p class="MsoNormal">-----+---------------------<u></u><u></u></p>
<p class="MsoNormal">0       | rn000098071 | 5432 | up     | 0.000000  | primary | 1          | true              | 0                 |                   |                  
<u></u><u></u></p>
<p class="MsoNormal">     | 2023-05-14 10:31:43<u></u><u></u></p>
<p class="MsoNormal">1       | rn000098069 | 5432 | up     | 1.000000  | standby | 0          | false             | 0                 |                   |                  
<u></u><u></u></p>
<p class="MsoNormal">     | 2023-05-14 10:31:43<u></u><u></u></p>
<p class="MsoNormal">(2 rows)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">postgres@rn000098071:/var/lib/pgsql <u></u><u></u></p>
<p class="MsoNormal">$ ping 10.50.28.80  <u></u><u></u></p>
<p class="MsoNormal">PING 10.50.28.80 (10.50.28.80) 56(84) bytes of data.<u></u><u></u></p>
<p class="MsoNormal">64 bytes from <a href="http://10.50.28.80" target="_blank">10.50.28.80</a>: icmp_seq=1 ttl=55 time=0.728 ms<u></u><u></u></p>
<p class="MsoNormal">64 bytes from <a href="http://10.50.28.80" target="_blank">10.50.28.80</a>: icmp_seq=2 ttl=55 time=0.490 ms<u></u><u></u></p>
<p class="MsoNormal">64 bytes from <a href="http://10.50.28.80" target="_blank">10.50.28.80</a>: icmp_seq=3 ttl=55 time=0.376 ms<u></u><u></u></p>
<p class="MsoNormal">64 bytes from <a href="http://10.50.28.80" target="_blank">10.50.28.80</a>: icmp_seq=4 ttl=55 time=0.477 ms<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">cat pgpool.conf<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">#------------------------------------------------------------------------------<u></u><u></u></p>
<p class="MsoNormal"># WATCHDOG<u></u><u></u></p>
<p class="MsoNormal">#------------------------------------------------------------------------------<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># - Enabling -<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">use_watchdog = <b>on </b>                  # Activates watchdog<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># -Connection to up stream servers -<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">trusted_servers = ''<u></u><u></u></p>
<p class="MsoNormal">                                    # trusted server list which are used<u></u><u></u></p>
<p class="MsoNormal">                                    # to confirm network connection<u></u><u></u></p>
<p class="MsoNormal">                                    # (hostA,hostB,hostC,...)<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">ping_path = '/bin'<u></u><u></u></p>
<p class="MsoNormal">                                    # ping command path<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># - Watchdog communication Settings -<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">wd_hostname = '<b>rn000110724</b>'<u></u><u></u></p>
<p class="MsoNormal">                                    # Host name or IP address of this watchdog<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_port = <b>9000</b><u></u><u></u></p>
<p class="MsoNormal">                                    # port number for watchdog service<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_priority = <b>0</b><u></u><u></u></p>
<p class="MsoNormal">                                    # priority of this watchdog in leader election<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">wd_authkey = ''<u></u><u></u></p>
<p class="MsoNormal">                                    # Authentication key for watchdog communication<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">wd_ipc_socket_dir = '/var/run/postgresql'<u></u><u></u></p>
<p class="MsoNormal">                                    # Unix domain socket path for watchdog IPC socket<u></u><u></u></p>
<p class="MsoNormal">                                    # The Debian package defaults to<u></u><u></u></p>
<p class="MsoNormal">                                    # /var/run/postgresql<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># - Virtual IP control Setting -<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">delegate_IP = <b>'10.50.28.80</b>'<u></u><u></u></p>
<p class="MsoNormal">                                    # delegate IP address<u></u><u></u></p>
<p class="MsoNormal">                                    # If this is empty, virtual IP never bring up.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">if_cmd_path = '/sbin'<u></u><u></u></p>
<p class="MsoNormal">                                    # path to the directory where if_up/down_cmd exists<u></u><u></u></p>
<p class="MsoNormal">                                    # If if_up/down_cmd starts with "/", if_cmd_path will be ignored.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">if_up_cmd = '/usr/bin/sudo /sbin/ip addr add $_IP_$/24 dev eth0 label eth0:0'<u></u><u></u></p>
<p class="MsoNormal">                                    # startup delegate IP command<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">if_down_cmd = '/usr/bin/sudo /sbin/ip addr del $_IP_$/24 dev eth0'<u></u><u></u></p>
<p class="MsoNormal">                                    # shutdown delegate IP command<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">arping_path = '/usr/sbin'<u></u><u></u></p>
<p class="MsoNormal">                                    # arping command path<u></u><u></u></p>
<p class="MsoNormal">                                    # If arping_cmd starts with "/", if_cmd_path will be ignored.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">arping_cmd = '/usr/bin/sudo /usr/sbin/arping -U $_IP_$ -w 1 -I eth0'<u></u><u></u></p>
<p class="MsoNormal">                                    # arping command<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">ifconfig_path = '/etc/pgpool-II'<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># - Behaivor on escalation Setting -<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">clear_memqcache_on_escalation = <b>on</b><u></u><u></u></p>
<p class="MsoNormal">                                    # Clear all the query cache on shared memory<u></u><u></u></p>
<p class="MsoNormal">                                    # when standby pgpool escalate to active pgpool<u></u><u></u></p>
<p class="MsoNormal">                                    # (= virtual IP holder).<u></u><u></u></p>
<p class="MsoNormal">                                    # This should be off if client connects to pgpool<u></u><u></u></p>
<p class="MsoNormal">                                    # not using virtual IP.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_escalation_command = '/etc/pgpool-II/escalation.sh'<u></u><u></u></p>
<p class="MsoNormal">                                    # Executes this command at escalation on new active pgpool.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_de_escalation_command = ''<u></u><u></u></p>
<p class="MsoNormal">                                    # Executes this command when master pgpool resigns from being master.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># - Watchdog consensus settings for failover -<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">failover_when_quorum_exists = on<u></u><u></u></p>
<p class="MsoNormal">                                    # Only perform backend node failover<u></u><u></u></p>
<p class="MsoNormal">                                    # when the watchdog cluster holds the quorum<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">failover_require_consensus = on<u></u><u></u></p>
<p class="MsoNormal">                                    # Perform failover when majority of Pgpool-II nodes<u></u><u></u></p>
<p class="MsoNormal">                                    # aggrees on the backend node status change<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">allow_multiple_failover_requests_from_node = off<u></u><u></u></p>
<p class="MsoNormal">                                    # A Pgpool-II node can cast multiple votes<u></u><u></u></p>
<p class="MsoNormal">                                    # for building the consensus on failover<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">#enable_consensus_with_half_votes = off<u></u><u></u></p>
<p class="MsoNormal">enable_consensus_with_half_votes = on<u></u><u></u></p>
<p class="MsoNormal">                                    # apply majority rule for consensus and quorum computation<u></u><u></u></p>
<p class="MsoNormal">                                    # at 50% of votes in a cluster with even number of nodes.<u></u><u></u></p>
<p class="MsoNormal">                                    # when enabled the existence of quorum and consensus<u></u><u></u></p>
<p class="MsoNormal">                                    # on failover is resolved after receiving half of the<u></u><u></u></p>
<p class="MsoNormal">                                    # total votes in the cluster, otherwise both these<u></u><u></u></p>
<p class="MsoNormal">                                    # decisions require at least one more vote than<u></u><u></u></p>
<p class="MsoNormal">                                    # half of the total votes.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># - Lifecheck Setting -<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># -- common --<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">wd_monitoring_interfaces_list = ''  # Comma separated list of interfaces names to monitor.<u></u><u></u></p>
<p class="MsoNormal">                                    # if any interface from the list is active the watchdog will<u></u><u></u></p>
<p class="MsoNormal">                                    # consider the network is fine<u></u><u></u></p>
<p class="MsoNormal">                                    # 'any' to enable monitoring on all interfaces except loopback<u></u><u></u></p>
<p class="MsoNormal">                                    # '' to disable monitoring<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">wd_lifecheck_method = 'heartbeat'<u></u><u></u></p>
<p class="MsoNormal">                                    # Method of watchdog lifecheck ('heartbeat' or 'query' or 'external')<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_interval = 10<u></u><u></u></p>
<p class="MsoNormal">                                    # lifecheck interval (sec) > 0<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># -- heartbeat mode --<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">wd_heartbeat_port = 9694<u></u><u></u></p>
<p class="MsoNormal">                                    # Port number for receiving heartbeat signal<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_heartbeat_keepalive = 2<u></u><u></u></p>
<p class="MsoNormal">                                    # Interval time of sending heartbeat signal (sec)<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_heartbeat_deadtime = 30<u></u><u></u></p>
<p class="MsoNormal">                                    # Deadtime interval for heartbeat signal (sec)<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">#heartbeat_destination0 = 'host0_ip1'<u></u><u></u></p>
<p class="MsoNormal">#heartbeat_destination0 = '10.201.36.72'# Host name or IP address of destination 0<u></u><u></u></p>
<p class="MsoNormal">heartbeat_destination0 = '10.50.28.58' # for sending heartbeat signal.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">heartbeat_destination_port0 = 9694 <u></u><u></u></p>
<p class="MsoNormal">                                    # Port number of destination 0 for sending<u></u><u></u></p>
<p class="MsoNormal">                                    # heartbeat signal. Usually this is the<u></u><u></u></p>
<p class="MsoNormal">                                    # same as wd_heartbeat_port.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">heartbeat_device0 = ''<u></u><u></u></p>
<p class="MsoNormal">                                    # Name of NIC device (such like 'eth0')<u></u><u></u></p>
<p class="MsoNormal">                                    # used for sending/receiving heartbeat<u></u><u></u></p>
<p class="MsoNormal">                                    # signal to/from destination 0.<u></u><u></u></p>
<p class="MsoNormal">                                    # This works only when this is not empty<u></u><u></u></p>
<p class="MsoNormal">                                    # and pgpool has root privilege.<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">heartbeat_destination1 = <b>'10.201.36.72</b>'<u></u><u></u></p>
<p class="MsoNormal">heartbeat_destination_port1 = 9694<u></u><u></u></p>
<p class="MsoNormal">#heartbeat_device1 = ''<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># -- query mode --<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">wd_life_point = 3<u></u><u></u></p>
<p class="MsoNormal">                                    # lifecheck retry times<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_lifecheck_query = 'SELECT 1'<u></u><u></u></p>
<p class="MsoNormal">                                    # lifecheck query to pgpool from watchdog<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_lifecheck_dbname = 'template1'<u></u><u></u></p>
<p class="MsoNormal">                                    # Database name connected for lifecheck<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_lifecheck_user = 'nobody'<u></u><u></u></p>
<p class="MsoNormal">                                    # watchdog user monitoring pgpools in lifecheck<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">wd_lifecheck_password = ''<u></u><u></u></p>
<p class="MsoNormal">                                    # Password for watchdog user in lifecheck<u></u><u></u></p>
<p class="MsoNormal">                                    # Leaving it empty will make Pgpool-II to first look for the<u></u><u></u></p>
<p class="MsoNormal">                                    # Password in pool_passwd file before using the empty password<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># - Other pgpool Connection Settings -<u></u><u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">other_pgpool_hostname0 = '<b>rn000110733</b>'<u></u><u></u></p>
<p class="MsoNormal">other_pgpool_port0 = 9999          # Port number for other pgpool 0<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal">other_wd_port0 = 9000<u></u><u></u></p>
<p class="MsoNormal">                                    # Port number for other watchdog 0<u></u><u></u></p>
<p class="MsoNormal">                                    # (change requires restart)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">#other_pgpool_hostname1 = 'host1'<u></u><u></u></p>
<p class="MsoNormal">#other_pgpool_port1 = 5432<u></u><u></u></p>
<p class="MsoNormal">#other_wd_port1 = 9000<u></u><u></u></p>
<p class="MsoNormal">#other_wd_port0 = 9000<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">PART II:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">PGPOOL II NODES:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">rn000110724 - <span style="color:#ed7d31">10.50.28.58 - MASTER NODE</span>:<u></u><u></u></p>
<p class="MsoNormal">rn000110733 – <span style="color:#4472c4">10.201.36.72 – STANDBY NODE</span><u></u><u></u></p>
<p class="MsoNormal">Delegate IP : 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>Shutdown PGPOOL II on current Master : <u></u><u></u></b></p>
<p class="MsoNormal">rn000110724 - <span style="color:#ed7d31">10.50.28.58 - MASTER NODE</span>:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">LOG<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:44: pid 79354: LOG:  Watchdog is shutting down<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:44: pid 113361: LOG:  watchdog: de-escalation started<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:44: pid 113361: LOG:  successfully released the delegate IP:"10.50.28.80"<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:44: pid 113361: DETAIL:  'if_down_cmd' returned with success<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">rn000110733 – <span style="color:#4472c4">10.201.36.72</span><u></u><u></u></p>
<p class="MsoNormal">New Master LOG<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">2023-05-14 16:12:44: pid 88197: LOG:  remote node "rn000110724:9999 Linux rn000110724" is shutting down<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:44: pid 88197: LOG:  watchdog cluster has lost the coordinator node<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:44: pid 88197: LOG:  removing the remote node "rn000110724:9999 Linux rn000110724" from watchdog cluster master<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:44: pid 88197: LOG:  We have lost the cluster master node "rn000110724:9999 Linux rn000110724"<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:44: pid 88197: LOG:  watchdog node state changed from [STANDBY] to [JOINING]<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:48: pid 88197: LOG:  watchdog node state changed from [JOINING] to [INITIALIZING]<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:49: pid 88197: LOG:  I am the only alive node in the watchdog cluster<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:49: pid 88197: HINT:  skipping stand for coordinator state<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:49: pid 88197: LOG:  watchdog node state changed from [INITIALIZING] to [MASTER]<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:49: pid 88197: LOG:  I am announcing my self as master/coordinator watchdog node<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:53: pid 88197: LOG:  I am the cluster leader node<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:12:57: pid 118646: LOG<b>:  successfully acquired the delegate IP:"10.50.28.80"<u></u><u></u></b></p>
<p class="MsoNormal">2023-05-14 16:13:22: pid 88197: LOG:  remote node "rn000110724:9999 Linux rn000110724" is shutting down<u></u><u></u></p>
<p class="MsoNormal">2023-05-14 16:13:32: pid 88197: LOG:  new IPC connection received<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">rn000110733 – <span style="color:#4472c4">10.201.36.72  -- Acquired delegate IP</span><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">sh-4.4# ifconfig<u></u><u></u></p>
<p class="MsoNormal">eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500<u></u><u></u></p>
<p class="MsoNormal">        inet 10.201.36.72  netmask 255.255.252.0  broadcast 10.201.39.255<u></u><u></u></p>
<p class="MsoNormal">        ether 00:50:56:9c:12:9d  txqueuelen 1000  (Ethernet)<u></u><u></u></p>
<p class="MsoNormal">        RX packets 652871  bytes 115519655 (110.1 MiB)<u></u><u></u></p>
<p class="MsoNormal">        RX errors 0  dropped 505  overruns 0  frame 0<u></u><u></u></p>
<p class="MsoNormal">        TX packets 286480  bytes 125140983 (119.3 MiB)<u></u><u></u></p>
<p class="MsoNormal">        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500<u></u><u></u></p>
<p class="MsoNormal">        inet <b>10.50.28.80  netmask 255.255.255.0  broadcast 0.0.0.0<u></u><u></u></b></p>
<p class="MsoNormal">        ether 00:50:56:9c:12:9d  txqueuelen 1000  (Ethernet)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">rn000110733 – <span style="color:#4472c4">10.201.36.72  - New Master:<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">sh-4.4# pcp_watchdog_info -h 10.201.36.72 -p 9898 -U pgpcp -v<u></u><u></u></p>
<p class="MsoNormal">Password: <u></u><u></u></p>
<p class="MsoNormal">Watchdog Cluster Information <u></u><u></u></p>
<p class="MsoNormal">Total Nodes          : 2<u></u><u></u></p>
<p class="MsoNormal">Remote Nodes         : 1<u></u><u></u></p>
<p class="MsoNormal">Quorum state         : QUORUM IS ON THE EDGE<u></u><u></u></p>
<p class="MsoNormal">Alive Remote Nodes   : 0<u></u><u></u></p>
<p class="MsoNormal">VIP up on local node : YES<u></u><u></u></p>
<p class="MsoNormal">Master Node Name     : rn000110733:9999 Linux rn000110733<u></u><u></u></p>
<p class="MsoNormal">Master Host Name     : rn000110733<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Watchdog Node Information <u></u><u></u></p>
<p class="MsoNormal">Node Name      : rn000110733:9999 Linux rn000110733<u></u><u></u></p>
<p class="MsoNormal">Host Name      : rn000110733<u></u><u></u></p>
<p class="MsoNormal">Delegate IP    : 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal">Pgpool port    : 9999<u></u><u></u></p>
<p class="MsoNormal">Watchdog port  : 9000<u></u><u></u></p>
<p class="MsoNormal">Node priority  : 0<u></u><u></u></p>
<p class="MsoNormal">Status         : 4<u></u><u></u></p>
<p class="MsoNormal">Status Name    : MASTER<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Node Name      : rn000110724:9999 Linux rn000110724<u></u><u></u></p>
<p class="MsoNormal">Host Name      : rn000110724<u></u><u></u></p>
<p class="MsoNormal">Delegate IP    : 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal">Pgpool port    : 9999<u></u><u></u></p>
<p class="MsoNormal">Watchdog port  : 9000<u></u><u></u></p>
<p class="MsoNormal">Node priority  : 0<u></u><u></u></p>
<p class="MsoNormal">Status         : 10<u></u><u></u></p>
<p class="MsoNormal">Status Name    : SHUTDOWN<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Can ping and connect <b>locally </b>from new Master PGPOOL Node:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">sh-4.4# ping 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal">PING 10.50.28.80 (10.50.28.80) 56(84) bytes of data.<u></u><u></u></p>
<p class="MsoNormal">64 bytes from <a href="http://10.50.28.80" target="_blank">10.50.28.80</a>: icmp_seq=1 ttl=64 time=0.023 ms<u></u><u></u></p>
<p class="MsoNormal">64 bytes from <a href="http://10.50.28.80" target="_blank">10.50.28.80</a>: icmp_seq=2 ttl=64 time=0.021 ms<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">sh-4.4# /usr/bin/psql -h <b>10.50.28.80</b>  -p 9999 -d postgres -U pgpool<u></u><u></u></p>
<p class="MsoNormal">Password for user pgpool: <u></u><u></u></p>
<p class="MsoNormal">postgres=#<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">But from Client host unable to ping:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">$  /usr/bin/psql -h 10.50.28.80  -p 9999 -d postgres -U pgpool<u></u><u></u></p>
<p class="MsoNormal">psql: error: connection to server at "10.50.28.80", port 9999 failed: No route to host<u></u><u></u></p>
<p class="MsoNormal">        Is the server running on that host and accepting TCP/IP connections?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">postgres@rn000098071:/var/lib/pgsql <u></u><u></u></p>
<p class="MsoNormal">$ ping 10.50.28.80<u></u><u></u></p>
<p class="MsoNormal">PING 10.50.28.80 (10.50.28.80) 56(84) bytes of data.<u></u><u></u></p>
<p class="MsoNormal">From 10.50.28.1 icmp_seq=1 Destination Host Unreachable<u></u><u></u></p>
<p class="MsoNormal">From 10.50.28.1 icmp_seq=3 Destination Host Unreachable<u></u><u></u></p>
<p class="MsoNormal">From 10.50.28.1 icmp_seq=2 Destination Host Unreachable<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal"><i><span style="font-family:"Calibri Light",sans-serif;color:black">Thank you!</span></i><span style="color:black"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:"Brush Script MT";color:black">Kishore</span><span style="color:black"><u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><b><span style="font-size:9.0pt;font-family:"Calibri Light",sans-serif;color:#e87722"></span></b><u></u><u></u></p>
</div>
<p><br> </p></div>

</div></div></div>