git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 02d3448) | patch
Refactor code in charge of running shell-based recovery commands
2023年1月16日 07:31:43 +0000 (16:31 +0900)
2023年1月16日 07:31:43 +0000 (16:31 +0900)
commit 9a740f81eb02e04179d78f3df2ce671276c27b07
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
src/backend/access/transam/Makefile diff | blob | blame | history
src/backend/access/transam/meson.build diff | blob | blame | history
src/backend/access/transam/shell_restore.c [new file with mode: 0644] blob
src/backend/access/transam/xlog.c diff | blob | blame | history
src/backend/access/transam/xlogarchive.c diff | blob | blame | history
src/include/access/xlogarchive.h diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /