Re: [Patch] pg_rewind: options to use restore_command from recovery.conf or command line
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Alexander Korotkov <a.korotkov@postgrespro.ru>
Cc: Kuntal Ghosh <kuntalghosh.2007@gmail.com>, Alvaro Herrera <alvherre@2ndquadrant.com>, Alexey Kondratov <a.kondratov@postgrespro.ru>, 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-10T12:43:58Z
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
On Tue, Mar 10, 2020 at 01:05:40PM +0300, Alexander Korotkov wrote: > Two options seem reasonable to me in this case. The first is to pass > length as additional argument as you did. The second option is to > make argument a pointer to fixed-size array as following. > > extern bool BuildRestoreCommand(const char *restoreCommand, > const char *xlogpath, /* %p */ > const char *xlogfname, /* %f */ > const char *lastRestartPointFname, /* %r */ > char (*commandResult)[MAXPGPATH]); > > Passing pointer to array of different size would cause an error. The > downside of this approach is that passing palloc'd chunk of memory as > commandResult would be less convenient. Thanks Alexander for the input. Another argument is that what you are suggesting here is not the usual project style, so I would still stick with two arguments to be consistent. -- Michael