From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Refactor code in charge of running shell-based recovery commands |
Date: | 2023-01-16 07:32:47 |
Message-ID: | E1pHJz4-003urB-TM@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2023-01-16 09:08:57 | pgsql: Fix some BufFileRead() error reporting |
Previous Message | Michael Paquier | 2023-01-16 04:59:00 | pgsql: Store IdentLine->pg_user as an AuthToken |