From 2abe6c2c5242f32fcf4df3235e1ad10a3741b0e9 Mon Sep 17 00:00:00 2001 From: Hayato Kuroda Date: Fri, 2 Feb 2024 09:17:20 +0000 Subject: [PATCH v15 6/6] Overwrite recovery parameters --- src/bin/pg_basebackup/pg_createsubscriber.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/bin/pg_basebackup/pg_createsubscriber.c b/src/bin/pg_basebackup/pg_createsubscriber.c index fd40ed5317..52b0a94fb5 100644 --- a/src/bin/pg_basebackup/pg_createsubscriber.c +++ b/src/bin/pg_basebackup/pg_createsubscriber.c @@ -1871,6 +1871,17 @@ main(int argc, char **argv) } else { + /* + * XXX: there is a possibility that subscriber already has + * recovery_target* option, but they can be set at most one of them. So + * overwrite parameters except recovery_target_lsn to an empty string. + * Note that the setting would be never restored. + */ + appendPQExpBuffer(recoveryconfcontents, "recovery_target = ''\n"); + appendPQExpBuffer(recoveryconfcontents, "recovery_target_name = ''\n"); + appendPQExpBuffer(recoveryconfcontents, "recovery_target_time = ''\n"); + appendPQExpBuffer(recoveryconfcontents, "recovery_target_xid = ''\n"); + appendPQExpBuffer(recoveryconfcontents, "recovery_target_lsn = '%s'\n", consistent_lsn); WriteRecoveryConfig(conn, opt.subscriber_dir, recoveryconfcontents); -- 2.43.0