diff options
author | Robert Haas <rhaas@postgresql.org> | 2022-02-03 13:57:27 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2022-02-03 14:05:02 -0500 |
commit | 5ef1eefd76f404ddc59b885d50340e602b70f05f (patch) | |
tree | 85146bd90a7039c50498ff09aedbc501468afb65 /src/backend/utils/misc/guc.c | |
parent | 7c1aead6cbe7dcc6c216715fed7a1fb60684c5dc (diff) | |
download | postgresql-5ef1eefd76f404ddc59b885d50340e602b70f05f.tar.gz postgresql-5ef1eefd76f404ddc59b885d50340e602b70f05f.zip |
Allow archiving via loadable modules.
Running a shell command for each file to be archived has a lot of
overhead and may not offer as much error checking as you want, or the
exact semantics that you want. So, offer the option to call a loadable
module for each file to be archived, rather than running a shell command.
Also, add a 'basic_archive' contrib module as an example implementation
that archives to a local directory.
Nathan Bossart, with a little bit of kibitzing by me.
Discussion: http://postgr.es/m/20220202224433.GA1036711@nathanxps13
Diffstat (limited to 'src/backend/utils/misc/guc.c')
-rw-r--r-- | src/backend/utils/misc/guc.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index b3fd42e0f18..f505413a7f9 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -3881,7 +3881,7 @@ static struct config_string ConfigureNamesString[] = { {"archive_command", PGC_SIGHUP, WAL_ARCHIVING, gettext_noop("Sets the shell command that will be called to archive a WAL file."), - NULL + gettext_noop("This is used only if \"archive_library\" is not set.") }, &XLogArchiveCommand, "", @@ -3889,6 +3889,16 @@ static struct config_string ConfigureNamesString[] = }, { + {"archive_library", PGC_SIGHUP, WAL_ARCHIVING, + gettext_noop("Sets the library that will be called to archive a WAL file."), + gettext_noop("An empty string indicates that \"archive_command\" should be used.") + }, + &XLogArchiveLibrary, + "", + NULL, NULL, NULL + }, + + { {"restore_command", PGC_SIGHUP, WAL_ARCHIVE_RECOVERY, gettext_noop("Sets the shell command that will be called to retrieve an archived WAL file."), NULL |