Re: archive modules
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, bharath.rupireddyforpostgres@gmail.com, tgl@sss.pgh.pa.us, peter.eisentraut@enterprisedb.com, benoit.lobreau@gmail.com, alvherre@alvh.no-ip.org, robertmhaas@gmail.com, bossartn@amazon.com, david@pgmasters.net, masao.fujii@oss.nttdata.com, pgsql-hackers@postgresql.org, magnus@hagander.net, sfrost@snowman.net
Date: 2022-11-07T06:20:31Z
Lists: pgsql-hackers
On Sat, Nov 05, 2022 at 02:08:58PM -0700, Nathan Bossart wrote: > Such a module could define a custom GUC that accepts a shell command. I > don't think we should overload the meaning of archive_command based on the > whims of whatever archive module is loaded. Besides the potential end-user > confusion, your archive_command might be unexpectedly used incorrectly if > you forget to set archive_library. While mostly copying the logic from shell_archive.c to build the command to execute (aka shell_archive_file), which is not great as well. But well, perhaps my whole line of argument is just moot.. > Perhaps we could eventually move the archive_command functionality to a > contrib module (i.e., "shell_archive") so that users must always set > archive_library. But until then, I suspect it's better to treat modules > and commands as two separate interfaces to ease migration from older major > versions (even though archive_command is now essentially a built-in archive > module). I agree that this is a fine long-term goal, removing all traces of the archive_command from the backend core code. This is actually an argument in favor of having no traces of XLogArchiveCommand in pgarch.c, no? ;p I am not sure how long we should wait before being able to do that, perhaps a couple of years of least? I'd like to think the sooner the better (like v17?) but we are usually conservative, and the removal of the exclusive backup mode took 5~6 years if I recall correctly.. -- Michael
Commits
-
Disallow setting archive_library and archive_command at the same time
- d627ce3b706d 16.0 landed
-
Restore archive_command documentation
- ba50834551f9 16.0 landed
- 5f56933ea5d5 15.0 landed
-
Doc: improve explanation of when custom GUCs appear in pg_settings.
- 44a51dc990cc 15.0 landed
- 857808a4116b 16.0 landed
-
doc: Add note about re-archiving of same WAL files in docs.
- 3cabe45a819f 16.0 cited
-
In basic_archive tests, insist on wal_level='replica'.
- 00c360a89c1a 15.0 landed
-
Allow archiving via loadable modules.
- 5ef1eefd76f4 15.0 landed
-
Move the code to archive files via the shell to a separate file.
- aeb4cc9ea07a 15.0 landed