<div dir="ltr"><div><span style="font-family:arial,sans-serif;font-size:16px">Hi</span></div><div><span style="font-family:arial,sans-serif;font-size:16px"><br></span></div><span style="font-family:arial,sans-serif;font-size:16px">These log messages are giving information about the replication lag between primary and standby (backend node 1) in your case.</span><div><font face="arial, sans-serif"><span style="font-size:16px"><br></span></font><span style="font-family:arial,sans-serif;font-size:16px"></span><div><span style="font-family:arial,sans-serif;font-size:16px">As you know replication lag</span><span style="font-family:arial,sans-serif;font-size:16px"> is the replica's distance behind the primary in the sequential timeline or number of bytes. The time it takes to copy data from the primary to a replica, and apply the changes, can vary based on a number of factors including network time, </span><span style="font-family:arial,sans-serif;font-size:16px">replication </span><span style="font-family:arial,sans-serif;font-size:16px">configuration, and amount of activity on both the primary and replicas. </span><br></div></div><div><font face="arial, sans-serif"><span style="font-size:16px"><br></span></font></div><div><font face="arial, sans-serif"><span style="font-size:16px">You can adjust the logging of the replication delay by adjusting the </span></font><span style="color:rgb(0,0,0);font-family:monospace;font-size:medium">log_standby_delay </span><span style="font-size:16px;font-family:arial,sans-serif">configuration in pgpool.conf. And to optimise the replication dealy between</span></div><div><span style="font-size:16px;font-family:arial,sans-serif">primary and standby you need to look at your PostgreSQL installation and network.</span></div><div><span style="font-size:16px;font-family:arial,sans-serif"><br></span></div><div><span style="font-size:16px;font-family:arial,sans-serif">Thanks</span></div><div><span style="font-size:16px;font-family:arial,sans-serif">Best regards</span></div><div><font face="arial, sans-serif"><span style="font-size:16px">Muhammad Usama</span></font></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 27, 2019 at 3:45 PM Lakshmi Raghavendra <<a href="mailto:lakshmiym108@gmail.com">lakshmiym108@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>   i have configured a stream replication pgpool and using watchdog for failovers.</div><div>I often see the below messages in the log:</div><div><br></div><div>2019-05-27T10:34:51+00:00  process[6714]: [15-1] 2019-05-27 10:34:51: pid 6714: LOG:  Replication of node:1 is behind 671088848 bytes from the primary server (node:0)<br>2019-05-27T10:34:51+00:00  process[6714]: [15-2] 2019-05-27 10:34:51: pid 6714: CONTEXT:  while checking replication time lag<br>2019-05-27T10:34:51+00:00  process[6714]: [16-1] 2019-05-27 10:34:51: pid 6714: LOG:  Replication of node:2 is behind 1124073680 bytes from the primary server (node:0)<br>2019-05-27T10:34:51+00:00  process[6714]: [16-2] 2019-05-27 10:34:51: pid 6714: CONTEXT:  while checking replication time lag<br>2019-05-27T10:35:01+00:00  process[6714]: [17-1] 2019-05-27 10:35:01: pid 6714: LOG:  Replication of node:1 is behind 671088848 bytes from the primary server (node:0)<br>2019-05-27T10:35:01+00:00  process[6714]: [17-2] 2019-05-27 10:35:01: pid 6714: CONTEXT:  while checking replication time lag<br>2019-05-27T10:35:01+00:00  process[6714]: [18-1] 2019-05-27 10:35:01: pid 6714: LOG:  Replication of node:2 is behind 1124073680 bytes from the primary server (node:0)<br>2019-05-27T10:35:01+00:00  process[6714]: [18-2] 2019-05-27 10:35:01: pid 6714: CONTEXT:  while checking replication time lag<br></div><div><br></div><div>Questions :</div><div><br></div><div>1. Does the above statement mean when failover happens and node  1 / 2 is choosen as the primary postgres master, since there is some replication lag, some data would be lost?</div><div><br></div><div>2. Please let me know how to over come this ?</div><div><br></div><div>Thanks And Regards,</div><div><br></div><div>   Lakshmi Y M</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 24, 2019 at 12:18 PM Tatsuo Ishii <<a href="mailto:ishii@sraoss.co.jp" target="_blank">ishii@sraoss.co.jp</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">>> Ok. So the reason behind the ask was if pgpool is not going to retry the<br>
> promote on other nodes, I was thinking i can just trigger a force promote<br>
> there by failover and follow master will be run by pgpool itself and i dont<br>
> have to do a failover by myself and run pcp_recovery on all the nodes<br>
<br>
Probably you misunderstand what Pgpool-II is expected to do. Pgpool-II<br>
does nothing with PostgreSQL promotion. It's completely the script<br>
writer's responsibility to handle the promotion retrying if<br>
neccessary.<br>
<br>
> Regarding 5. It's normal. Don't worry.<br>
> <br>
> When a standby PostgreSQL node is added, existing connections to<br>
> Pgpool-II are kept (thus do not use the new standby for load<br>
> balacing). After the session ends, Pgpool-II child process checks<br>
> whether the failback has happend. If happend, exits itself so that new<br>
> process is spwan to reflect the fact that new standby node has been<br>
> added (thus it can use the new standby for load balancing).<br>
> <br>
> <br>
> <br>
> <br>
>> Thanks. Per my understanding, So restart happens only when a new standby<br>
> is added is it. Because i see this frequent restarts happening even when<br>
> there is no fallback.<br>
<br>
The failbacke event detection could happen long after the failback<br>
happend if a user keeps on connection to Pgpool-II.<br>
<br>
> Also could you please share some light on when the failback_command gets<br>
> executed? I have never seen the command being called.<br>
<br>
It is called when pcp_attach_node or pcp_recovery_node get<br>
executed. Also it could happen when follow_master_command gets<br>
executed if it executes pcp_recovery_node inside the command.<br>
<br>
> <br>
> Thanks And Regards,<br>
> <br>
>    Lakshmi Y M<br>
> <br>
> On Tue, May 21, 2019 at 8:02 PM Lakshmi Raghavendra <<a href="mailto:lakshmiym108@gmail.com" target="_blank">lakshmiym108@gmail.com</a>><br>
> wrote:<br>
> <br>
>> Hi,<br>
>><br>
>>    I had couple of queries as below :<br>
>><br>
>> On Thu, May 16, 2019 at 2:17 AM Muhammad Usama <<a href="mailto:m.usama@gmail.com" target="_blank">m.usama@gmail.com</a>> wrote:<br>
>><br>
>>><br>
>>><br>
>>> On Fri, May 10, 2019 at 6:38 PM Lakshmi Raghavendra <<br>
>>> <a href="mailto:lakshmiym108@gmail.com" target="_blank">lakshmiym108@gmail.com</a>> wrote:<br>
>>><br>
>>>> Hi,<br>
>>>> I am trying pgpool for automatic faliover on my postgresql cluster using<br>
>>>> the watchdog feature<br>
>>>> Wanted to know a couple of things<br>
>>>> 1. Are there any hooks when pgpool re-elects next pgpool master ? wanted<br>
>>>> to run some customization during this time<br>
>>>><br>
>>><br>
>>> Pgpool executes the user provided commands at the time of acquiring and<br>
>>> releasing of virtual IP by master pgpool node. You can<br>
>>> configure wd_escalation_command and wd_de_escalation_command configuration<br>
>>> parameters to provide the custom command or script.<br>
>>> Pgpool which executed wd_escalation_command command when it gets elected<br>
>>> as a master and performs the escalation<br>
>>> and similarly when the it node will resign as a master the wd_de_escalation_command<br>
>>> command gets executed,<br>
>>><br>
>><br>
>> 1. I tried using the  above wd_escalation_command and wd_de_escalation_command.<br>
>> I have a 3 node cluster, Observed that the escalation command will be<br>
>> triggered if there are at least 2 nodes alive in the pgpool cluster.<br>
>> If there is only master pgpool alive with no slave nodes, the command is<br>
>> never initiated. Is this behavior expected ?<br>
>><br>
>> 2. Wanted to understand the significance of VIP, Is there any issue caused<br>
>> if I dont use the VIP in a 3-node pgpool cluster.<br>
>><br>
>> Please let me know.<br>
>><br>
>> Thanks And Regards,<br>
>><br>
>>    Lakshmi Y M<br>
>><br>
>> On Thu, May 16, 2019 at 2:17 AM Muhammad Usama <<a href="mailto:m.usama@gmail.com" target="_blank">m.usama@gmail.com</a>> wrote:<br>
>><br>
>>><br>
>>><br>
>>> On Fri, May 10, 2019 at 6:38 PM Lakshmi Raghavendra <<br>
>>> <a href="mailto:lakshmiym108@gmail.com" target="_blank">lakshmiym108@gmail.com</a>> wrote:<br>
>>><br>
>>>> Hi,<br>
>>>> I am trying pgpool for automatic faliover on my postgresql cluster using<br>
>>>> the watchdog feature<br>
>>>> Wanted to know a couple of things<br>
>>>> 1. Are there any hooks when pgpool re-elects next pgpool master ? wanted<br>
>>>> to run some customization during this time<br>
>>>><br>
>>><br>
>>> Pgpool executes the user provided commands at the time of acquiring and<br>
>>> releasing of virtual IP by master pgpool node. You can<br>
>>> configure wd_escalation_command and wd_de_escalation_command configuration<br>
>>> parameters to provide the custom command or script.<br>
>>> Pgpool which executed wd_escalation_command command when it gets elected<br>
>>> as a master and performs the escalation<br>
>>> and similarly when the it node will resign as a master the wd_de_escalation_command<br>
>>> command gets executed,<br>
>>><br>
>>><br>
>>> <a href="http://www.pgpool.net/docs/latest/en/html/runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION" rel="noreferrer" target="_blank">http://www.pgpool.net/docs/latest/en/html/runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION</a><br>
>>><br>
>>><br>
>>>> 2. Will the VIP get assigned ony if there are more than 1 node present<br>
>>>> in the pgpool cluster? I had 3 nodes where i had pgpool running. When the<br>
>>>> 1st and 2nd node's pgpool was shut i was expecting the 3rd node to acquire<br>
>>>> the VIP but it didn't happen. And if my understanding was right i was<br>
>>>> thinking of using the VIP in my database connection string (Since it will<br>
>>>> always be with pgpool master who can connect to my postgresql primary). Now<br>
>>>> if the 3rd node is not acquiring the VIP, i could not use it my connection<br>
>>>> string. Correct me if my understanding is wrong<br>
>>>><br>
>>><br>
>>> master pgpool only acquires the VIP when the quorum exists ( minimum 50%<br>
>>> of nodes are reachable). This is done by Pgpool to guard against the<br>
>>> split-brain syndrome, which could happen<br>
>>> otherwise in case of network partitioning. So if you have 3 Pgpool nodes<br>
>>> configured than the VIP will only get assigned on master node when at-least<br>
>>> 2 Pgpool nodes are alive and reachable.<br>
>>> but in case of 2 node configuration, only 1 node is required to ensure<br>
>>> the quorum and in that case even if the single node is alive, it will get<br>
>>> the VIP<br>
>>><br>
>>> Thanks<br>
>>> Best Regards<br>
>>> Muhammad Usama<br>
>>><br>
>>>><br>
>>>><br>
>>>> Thanks in advance<br>
>>>><br>
>>>>    Lakshmi Y M<br>
>>>> _______________________________________________<br>
>>>> pgpool-general mailing list<br>
>>>> <a href="mailto:pgpool-general@pgpool.net" target="_blank">pgpool-general@pgpool.net</a><br>
>>>> <a href="http://www.pgpool.net/mailman/listinfo/pgpool-general" rel="noreferrer" target="_blank">http://www.pgpool.net/mailman/listinfo/pgpool-general</a><br>
>>>><br>
>>><br>
</blockquote></div>
</blockquote></div>