From: | "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com> |
---|---|
To: | 'D Laaren' <dlaaren8(at)gmail(dot)com> |
Cc: | "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | RE: Resetting recovery target parameters in pg_createsubscriber |
Date: | 2025-09-01 02:06:34 |
Message-ID: | OSCPR01MB14966F169D92ED9D7BBFB9597F507A@OSCPR01MB14966.jpnprd01.prod.outlook.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Dear Laaren,
> I noticed that pg_createsubscriber sets recovery target params for
> correct recovery before converting a physical replica to a logical
> one but does not reset them afterward. It can lead to recovery
> failures in certain scenarios.
> For example, if recovery begins from a checkpoint where no WAL records
> need to be applied, the system might incorrectly determine that the
> recovery target was never reached because these parameters remain
> active.
Thanks for reporting.
I have known that parameters won't be overwritten, but I didn't recognize the
case that recovery fails.
> I’ve attached a TAP test to reproduce the issue.
> The proposed patch ensures all recovery parameters are reset after
> conversion to prevent such edge cases.
WriteRecoveryConfig() has been used to setup the recovery parameters. Can we
follow the way to restore them?
Also, can we add a test to 040_pg_createsubscriber? IIUC it is enough to check
one of recovery parameter is reset after the conversion.
Best regards,
Hayato Kuroda
FUJITSU LIMITED
From | Date | Subject | |
---|---|---|---|
Next Message | Tatsuo Ishii | 2025-09-01 02:13:18 | Re: Raw parse tree is not dumped to log |
Previous Message | Michael Paquier | 2025-09-01 02:03:55 | Re: Buffer locking is special (hints, checksums, AIO writes) |