RE: Resetting recovery target parameters in pg_createsubscriber
Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>
From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'D Laaren' <dlaaren8@gmail.com>
Cc: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2025-09-01T02:06:34Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
pg_createsubscriber: Improve handling of automated recovery configuration
- 639352d904c8 19 (unreleased) landed
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