Re: archive modules
Nathan Bossart <bossartn@amazon.com>
From: "Bossart, Nathan" <bossartn@amazon.com>
To: Robert Haas <robertmhaas@gmail.com>, Michael Paquier <michael@paquier.xyz>
Cc: Fujii Masao <masao.fujii@oss.nttdata.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Stephen Frost <sfrost@snowman.net>, "Magnus
Hagander" <magnus@hagander.net>
Date: 2021-11-02T15:26:04Z
Lists: pgsql-hackers
On 11/2/21, 8:11 AM, "Robert Haas" <robertmhaas@gmail.com> wrote: > Why in the world would you want a plain hook rather than something > closer to the way logical replication works? > > Plain hooks are annoying to use. If you load things at the wrong time, > it silently doesn't work. It's also impossible to unload anything. If > you want to change to a different module, you probably have to bounce > the whole server instead of just changing the GUC and letting it load > the new module when you run 'pg_ctl reload'. Well, the current patch does require a reload since the modules are preloaded, but maybe there is some way to avoid that. However, I agree with the general argument that a dedicated archive module interface will be easier to use correctly. With a hook, it could be hard to know which library's archive function we are actually using. With archive_library, we know the exact library's callback functions we are using. I think an argument for just adding a hook is that it's simpler and easier to maintain. But continuous archiving is a pretty critical piece of functionality, so I think it's a great candidate for some sturdy infrastructure. Nathan
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