Re: [Patch] pg_rewind: options to use restore_command from recovery.conf or command line

Andrey Borodin <x4mmm@yandex-team.ru>

From: Andrey Borodin <x4mmm@yandex-team.ru>
To: Alexey Kondratov <a.kondratov@postgrespro.ru>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Andres Freund <andres@anarazel.de>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Dmitry Dolgov <9erthalion6@gmail.com>, Michael Paquier <michael@paquier.xyz>, vladimirlesk@yandex-team.ru, dsarafan@yandex-team.ru
Date: 2019-03-06T15:38:12Z
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 →
  1. Move frontend-side archive APIs from src/common/ to src/fe_utils/

  2. Add -c/--restore-target-wal to pg_rewind

  3. Move routine definitions of xlogarchive.c to a new header file

  4. Move routine building restore_command to src/common/

  5. Integrate recovery.conf into postgresql.conf

Hi!


> 20 февр. 2019 г., в 17:06, Alexey Kondratov <a.kondratov@postgrespro.ru> написал(а):
> 
>> 
>> I will work out this one with postgres -C and come back till the next commitfest. I found that something similar is already used in pg_ctl and there is a mechanism for finding valid executables in exec.c. So it does not seem to be a big deal at the first sight.
>> 
> 
> I have reworked the patch, please find new version attached. It is 3 times as smaller than the previous one and now touches pg_rewind's code only. Tests are also slightly refactored in order to remove duplicated code. Execution of postgres -C is used for restore_command retrieval (if -r is passed) as being suggested. Otherwise everything works as before.
> 

> <v4-0001-pg_rewind-options-to-use-restore_command.patch>

The new patch is much smaller (less than 400 lines) and works as advertised.
There's a typo "retreive" there.

These lines look a little suspicious:
		char  postgres_exec_path[MAXPGPATH],
				  postgres_cmd[MAXPGPATH],
				  cmd_output[MAX_RESTORE_COMMAND];
Is it supposed to be any difference between MAXPGPATH and MAX_RESTORE_COMMAND?

Besides this, patch looks fine to me.

Best regards, Andrey Borodin.