On 11/2/21, 8:11 AM, "Robert Haas" <robertmh...@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