aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/misc/guc.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2022-02-03 13:57:27 -0500
committerRobert Haas <rhaas@postgresql.org>2022-02-03 14:05:02 -0500
commit5ef1eefd76f404ddc59b885d50340e602b70f05f (patch)
tree85146bd90a7039c50498ff09aedbc501468afb65 /src/backend/utils/misc/guc.c
parent7c1aead6cbe7dcc6c216715fed7a1fb60684c5dc (diff)
downloadpostgresql-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.c12
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