mirror of
https://github.com/postgres/postgres.git
synced 2025-11-06 07:49:08 +03:00
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
This commit is contained in:
@@ -3881,13 +3881,23 @@ 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,
|
||||
"",
|
||||
NULL, NULL, show_archive_command
|
||||
},
|
||||
|
||||
{
|
||||
{"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."),
|
||||
|
||||
@@ -245,6 +245,9 @@
|
||||
|
||||
#archive_mode = off # enables archiving; off, on, or always
|
||||
# (change requires restart)
|
||||
#archive_library = '' # library to use to archive a logfile segment
|
||||
# (empty string indicates archive_command should
|
||||
# be used)
|
||||
#archive_command = '' # command to use to archive a logfile segment
|
||||
# placeholders: %p = path of file to archive
|
||||
# %f = file name only
|
||||
|
||||
Reference in New Issue
Block a user