Re: [Patch] pg_rewind: options to use restore_command from recovery.conf or command line
Alexey Kondratov <a.kondratov@postgrespro.ru>
From: Alexey Kondratov <a.kondratov@postgrespro.ru>
To: Michael Paquier <michael@paquier.xyz>
Cc: Alexander Korotkov <a.korotkov@postgrespro.ru>, Alvaro Herrera
<alvherre@2ndquadrant.com>, Kuntal Ghosh <kuntalghosh.2007@gmail.com>,
Liudmila Mantrova <l.mantrova@postgrespro.ru>, Thomas Munro
<thomas.munro@gmail.com>, Andrey Borodin <x4mmm@yandex-team.ru>, David
Steele <david@pgmasters.net>, Andres Freund <andres@anarazel.de>,
PostgreSQL-development <pgsql-hackers@postgresql.org>, Dmitry Dolgov
<9erthalion6@gmail.com>, vladimirlesk@yandex-team.ru,
dsarafan@yandex-team.ru
Date: 2020-03-26T21:24:19Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Move frontend-side archive APIs from src/common/ to src/fe_utils/
- 8d8b89266ca0 13.0 landed
- a3b2bf1fe7ce 14.0 landed
-
Add -c/--restore-target-wal to pg_rewind
- a7e8ece41cf7 13.0 landed
-
Move routine definitions of xlogarchive.c to a new header file
- 616ae3d2b056 13.0 landed
-
Move routine building restore_command to src/common/
- e09ad07b21a2 13.0 landed
-
Integrate recovery.conf into postgresql.conf
- 2dedf4d9a899 12.0 cited
Attachments
- introduce_xlogarchive_h.diff (text/x-diff) patch
On 2020-03-26 10:34, Michael Paquier wrote: > On Tue, Mar 24, 2020 at 12:22:16PM +0900, Michael Paquier wrote: >> Thanks Alvaro and Alexander. 0001 has been applied as of e09ad07. >> Now for 0002, let's see about it later. Attached is a rebased >> version, with no actual changes. > > I was looking at this patch again today and I am rather fine with the > existing semantics. Still I don't like much to name the frontend-side > routine FrontendRestoreArchivedFile() and use a different name than > the backend counterpart because we have to include xlog_internal.h in > fe_archive.c to be able to grab XLOGDIR. > > So here is an idea: let's move the declaration of the routines part of > xlogarchive.c to a new header, called xlogarchive.h, and then let's > use the same routine name for the frontend and the backend in this > second patch. We include xlog_internal.h already in many frontend > tools, so that would clean up things a bit. Two extra things are the > routines for the checkpointer as well as the variables like > ArchiveRecoveryRequested. It may be nice to move those while on it, > but I am not sure where and that's not actually required for this > patch set so that could be addressed later if need be. > > Any thoughts? > The block of function declarations for xlogarchive.c inside xlog_internal.h looks a bit dangling already, since all other functions and variables defined/initialized in xlog.c. That way, it looks good to me to move it outside. The only one concern about using the same name I have is that later someone may introduce a new variable or typedef inside xlogarchive.h. So someone else would be required to include both fe_archive.h and xlogarchive.h at once. But probably there should be a warning in the header comment section against doing so. Anyway, I have tried to do what you proposed and attached is a small patch, that introduces xlogarchive.h. Regards -- Alexey Kondratov Postgres Professional https://www.postgrespro.com Russian Postgres Company