archive modules
Nathan Bossart <bossartn@amazon.com>
From: "Bossart, Nathan" <bossartn@amazon.com>
To: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2021-11-01T18:54:51Z
Lists: pgsql-hackers
Attachments
- v7-0001-Introduce-archive-module-infrastructure.patch (application/octet-stream) patch v7-0001
This thread is a continuation of the thread with the subject "parallelizing the archiver" [0]. That thread had morphed into an effort to allow creating archive modules, so I've created a new one to ensure that this topic has the proper visibility. I've attached the latest patch from the previous thread. This patch does a few things. First, it adds the archive_library GUC that specifies a library to use in place of archive_command. If archive_library is set to "shell" (the default), archive_command is still used. The archive_library is preloaded, so its _PG_init() can do anything that libraries loaded via shared_preload_libraries can do. Like logical decoding output plugins, archive modules must define an initialization function and some callbacks. The patch also introduces the basic_archive module to ensure test coverage on the new infrastructure. Nathan [0] https://www.postgresql.org/message-id/flat/BC4D6BB2-6976-4397-A417-A6A30EEDC63E%40amazon.com
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