From d627ce3b706de16279d8eb683bfeda34ad7197fe Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 15 Nov 2022 10:03:12 +0100 Subject: Disallow setting archive_library and archive_command at the same time Setting archive_library and archive_command at the same time is now an error. Before, archive_library would take precedence over archive_command. Author: Nathan Bossart Reviewed-by: Peter Eisentraut Reviewed-by: Bharath Rupireddy Discussion: https://www.postgresql.org/message-id/20220914222736.GA3042279%40nathanxps13 --- src/backend/postmaster/pgarch.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/backend/postmaster/pgarch.c b/src/backend/postmaster/pgarch.c index 2670e41666a..fffb6a599c6 100644 --- a/src/backend/postmaster/pgarch.c +++ b/src/backend/postmaster/pgarch.c @@ -792,6 +792,12 @@ HandlePgArchInterrupts(void) ConfigReloadPending = false; ProcessConfigFile(PGC_SIGHUP); + if (XLogArchiveLibrary[0] != '\0' && XLogArchiveCommand[0] != '\0') + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("both archive_command and archive_library set"), + errdetail("Only one of archive_command, archive_library may be set."))); + archiveLibChanged = strcmp(XLogArchiveLibrary, archiveLib) != 0; pfree(archiveLib); @@ -825,6 +831,12 @@ LoadArchiveLibrary(void) { ArchiveModuleInit archive_init; + if (XLogArchiveLibrary[0] != '\0' && XLogArchiveCommand[0] != '\0') + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("both archive_command and archive_library set"), + errdetail("Only one of archive_command, archive_library may be set."))); + memset(&ArchiveContext, 0, sizeof(ArchiveModuleCallbacks)); /* -- cgit v1.2.3