| From: | VASUKI M <vasukim1992002(at)gmail(dot)com> |
|---|---|
| To: | pgpool-general(at)lists(dot)postgresql(dot)org |
| Cc: | bharatdb(at)cdac(dot)in |
| Subject: | Fwd: Automating Failover Resync & Re-Attach in pgpool2 |
| Date: | 2025-10-23 07:13:04 |
| Message-ID: | CACTYHzhnvjY5G8ErTh3-EaFNgExAb=hng4CDy-7-0X7wYGin2w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgpool-general pgsql-bugs |
Hi Bo,
Thank you very much for your clarification and the helpful links on
follow_primary_command and auto_failback. I went through those sections in
the documentation, and I now understand that Pgpool-II can automatically
follow the new primary and reattach a standby node once it becomes
available again.
However, my idea was aimed at handling cases where the *old primary
diverges in timeline or LSN* after a failover — for example, when the new
primary executes additional writes before the old primary rejoins. In such
cases, the existing auto-failback or follow-primary mechanisms can’t
directly reattach the old node because its data is no longer in sync with
the current primary.
To address that, I was exploring a built-in *auto-resync enhancement* where
Pgpool-II could internally perform the following before reattaching:
1.
*Detect timeline mismatch* between the new primary and the returning
node.
2.
*Automatically run pg_rewind* (or WAL-based replay) to synchronize the
old node’s data directory.
3.
*Restart and reattach the node* to the pool automatically once the
resync is complete.
This would essentially extend the existing auto_failback behavior to
include *automated resynchronization*, reducing manual intervention and
ensuring consistent cluster recovery even in timeline divergence scenarios.
I’m thinking of something like a new configuration section in pgpool.conf:
auto_resync = on
resync_method = 'pg_rewind'
resync_user = 'replicator'
The feature could hook into the existing failback workflow (perhaps in
failover.c or recovery.c), so that Pgpool performs resync + reattach
seamlessly when the failed node returns.
Would this be something the Pgpool team would consider as an enhancement?
Thanks again for your time and guidance.
Best regards,
*Vasuki M*
CDAC, Chennai
vasukim1992002(at)gmail(dot)com
On Fri, 17 Oct 2025 at 13:30, Bo Peng <pengbo(at)sraoss(dot)co(dot)jp> wrote:
> Hi,
>
> Thank you for your question.
>
> > While working with PostgreSQL failover scenarios, I noticed that the
> process of re-attaching a standby node
> > after a failover can be somewhat manual and prone to delays, especially
> in production environments.
>
> After a failover, the standby nodes can be automatically attached to the
> new primary by setting "follow_primary_command".
>
>
> https://www.pgpool.net/docs/latest/en/html/runtime-config-failover.html#RUNTIME-CONFIG-FAILOVER-SETTINGS
>
> You can also automatically reattach a failed standby node by setting
> "auto_failback = on".
>
>
> https://www.pgpool.net/docs/latest/ja/html/runtime-config-failover.html#GUC-AUTO-FAILBACK
>
> ---
> Bo Peng <pengbo(at)sraoss(dot)co(dot)jp>
> SRA OSS K.K.
> TEL: 03-5979-2701 FAX: 03-5979-2702
> Mobile: 080-7752-0749
> URL: https://www.sraoss.co.jp/
>
>
> ________________________________________
> 差出人: VASUKI M <vasukim1992002(at)gmail(dot)com>
> 送信: 2025 年 10 月 10 日 (金曜日) 21:17
> 宛先: pgsql-bugs(at)lists(dot)postgresql(dot)org <pgsql-bugs(at)lists(dot)postgresql(dot)org>
> Cc: bharatdb(at)cdac(dot)in <bharatdb(at)cdac(dot)in>;
> pgpool-general(at)lists(dot)postgresql(dot)org <pgpool-general(at)lists(dot)postgresql(dot)org>
> 件名: Automating Failover Resync & Re-Attach in pgpool2
>
> Dear PostgreSQL and Pgpool Communities,While working with PostgreSQL
> failover scenarios, I noticed that the process of re-attaching a standby
> node after a failover can be somewhat manual and prone to delays,
> especially in production environments.I explored automating this process
> using a combination of pg_rewind and WAL replay, which allows a standby
> node to resynchronize and re-attach to the primary automatically after a
> failover. This could reduce downtime and simplify management of failover
> nodes in high-availability setups.Automatically resynchronize after
> failoverReduce downtime and ensure quicker recoveryMinimize manual
> operations and errorsMaintain consistent cluster state with less
> administrative overheadI believe that integrating such an automated resync
> and re-attach feature into Pgpool-II could be very valuable for PostgreSQL
> users, potentially as an enhancement in a future release.I wanted to share
> this idea with the community to get feedback, suggestions, or any pointers
> on existing work that may align with this. I am happy to contribute more
> details
| From | Date | Subject | |
|---|---|---|---|
| Next Message | puska | 2025-10-24 12:43:15 | Problem with pcp_recovery_node |
| Previous Message | Luca Ferrari | 2025-10-23 06:04:50 | Re: what is causing different pcp_node_info status |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | PG Bug reporting form | 2025-10-23 09:09:41 | BUG #19093: Behavioral change in walreceiver termination between PostgreSQL 14.17 and 14.18 |
| Previous Message | David Rowley | 2025-10-23 06:41:48 | Re: ERROR: XX000: could not find memoization table entry (reproducible) |