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.
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.