From be6221e9be234109aa261ea767c85f5e8cda90e8 Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Wed, 12 Feb 2020 09:08:22 +0900 Subject: [PATCH] Fix bug in pg_basebackup -F plain -R. Commit caba97a9d9 changed pg_basebackup -F plain -R so that it overwrote postgresql.auto.conf in the backup, with new connection setting. This could cause the existing postgresql.auto.conf settings in the server to get lost unexpectedly. This is a bug. This commit fixes the bug by making pg_basebackup -F plain -R append the connection setting into postgresql.auto.conf in the backup. Author: Fujii Masao Reviewed-by: Sergei Kornilov Discussion: https://postgr.es/m/250dcf2a-94e7-c05e-824a-73cfb38a48a4@oss.nttdata.com --- src/fe_utils/recovery_gen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fe_utils/recovery_gen.c b/src/fe_utils/recovery_gen.c index facfb6b1f6a..46ca20e20b8 100644 --- a/src/fe_utils/recovery_gen.c +++ b/src/fe_utils/recovery_gen.c @@ -128,7 +128,7 @@ WriteRecoveryConfig(PGconn *pgconn, char *target_dir, PQExpBuffer contents) snprintf(filename, MAXPGPATH, "%s/%s", target_dir, use_recovery_conf ? "recovery.conf" : "postgresql.auto.conf"); - cf = fopen(filename, use_recovery_conf ? "a" : "w"); + cf = fopen(filename, use_recovery_conf ? "w" : "a"); if (cf == NULL) { pg_log_error("could not open file \"%s\": %m", filename);