Re: recovery modules
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers@postgresql.org
Date: 2023-01-31T23:30:13Z
Lists: pgsql-hackers
Attachments
- v2-0001-s-ArchiveContext-ArchiveCallbacks.patch (text/x-diff)
On Tue, Jan 31, 2023 at 08:13:11AM +0900, Michael Paquier wrote: > On Mon, Jan 30, 2023 at 12:04:22PM -0800, Nathan Bossart wrote: >> On Mon, Jan 30, 2023 at 11:48:10AM -0800, Andres Freund wrote: >>> I don't think _PG_archive_module_init() should actually allocate a memory >>> context and do other similar initializations. Instead it should just return >>> 'const ArchiveModuleCallbacks*', typically a single line. >>> >>> Allocations etc should happen in one of the callbacks. That way we can >>> actually have multiple instances of a module. >> >> I think we'd need to invent a startup callback for archive modules for this >> to work, but that's easy enough. > > If you don't return some (void *) pointing to a private area that > would be stored by the backend, allocated as part of the loading path, > I agree that an extra callback is what makes the most sense, > presumably called around the beginning of PgArchiverMain(). Doing > this kind of one-time action in the file callback woud be weird.. Okay, here is a new patch set with the aforementioned adjustments and documentation updates. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
Commits
-
Redesign archive modules
- 35739b87dcfe 16.0 landed
-
Remove uses of AssertVariableIsOfType() obsoleted by f2b73c8
- 30b789eafed2 16.0 landed
-
Rename contrib module basic_archive to basic_wal_module
- 0ad3c60caf5f 16.0 landed
-
Refactor code for restoring files via shell commands
- 14bdb3f13de1 16.0 landed
-
Refactor code in charge of running shell-based recovery commands
- 9a740f81eb02 16.0 landed