pgsql: Refactor code in charge of running shell-based recovery commands
От | Michael Paquier |
---|---|
Тема | pgsql: Refactor code in charge of running shell-based recovery commands |
Дата | |
Msg-id | E1pHJz4-003urB-TM@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Refactor code in charge of running shell-based recovery commands The code specific to the execution of archive_cleanup_command, recovery_end_command and restore_command is moved to a new file named shell_restore.c. The code is split into three functions: - shell_restore(), that attempts the execution of a shell-based restore_command. - shell_archive_cleanup(), for archive_cleanup_command. - shell_recovery_end(), for recovery_end_command. This introduces no functional changes, with failure patterns and logs generated in consequence being the same as before (one case actually generates one less DEBUG2 message "could not restore" when a restore command succeeds but the follow-up stat() to check the size fails, but that only matters with a elevel high enough). This is preparatory work for allowing recovery modules, a facility similar to archive modules, with callbacks shaped similarly to the functions introduced here. Author: Nathan Bossart Reviewed-by: Andres Freund, Michael Paquier Discussion: https://postgr.es/m/20221227192449.GA3672473@nathanxps13 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/9a740f81eb02e04179d78f3df2ce671276c27b07 Modified Files -------------- src/backend/access/transam/Makefile | 1 + src/backend/access/transam/meson.build | 1 + src/backend/access/transam/shell_restore.c | 175 +++++++++++++++++++++++++++++ src/backend/access/transam/xlog.c | 37 ++++-- src/backend/access/transam/xlogarchive.c | 120 +------------------- src/include/access/xlogarchive.h | 7 +- 6 files changed, 214 insertions(+), 127 deletions(-)
В списке pgsql-committers по дате отправления: