Re: Add recovery to pg_control and remove backup_label

David Steele <david@pgmasters.net>

From: David Steele <david@pgmasters.net>
To: Stefan Fercot <stefan.fercot@protonmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Robert Haas <robertmhaas@gmail.com>, Andres Freund <andres@anarazel.de>, Postgres hackers <pgsql-hackers@lists.postgresql.org>, Stephen Frost <sfrost@snowman.net>
Date: 2024-05-17T02:53:53Z
Lists: pgsql-hackers
On 4/16/24 18:55, Stefan Fercot wrote:
> Hi,
> 
> On Sunday, March 10th, 2024 at 4:47 AM, David Steele wrote:
>> I've had a new idea which may revive this patch. The basic idea is to
>> keep backup_label but also return a copy of pg_control from
>> pg_stop_backup(). This copy of pg_control would be safe from tears and
>> have a backupLabelRequired field set (as Andres suggested) so recovery
>> cannot proceed without the backup label.
>>
>> So, everything will continue to work as it does now. But, backup
>> software can be enhanced to write the improved pg_control that is
>> guaranteed not to be torn and has protection against a missing backup label.
>>
>> Of course, pg_basebackup will write the new backupLabelRequired field
>> into pg_control, but this way third party software can also gain
>> advantages from the new field.
> 
> Bump on this idea.
> 
> Given the discussion in [1], even if it obviously makes sense to improve the in core backup capabilities, the more we go in that direction, the more we'll rely on outside orchestration.
> So IMHO it also worth worrying about given more leverage to such orchestration tools. In that sense, I really like the idea to extend the backup functions.

I have implemented this idea and created a new thread [1] for it. 
Hopefully it will address the concerns expressed in this thread.

Regards,
-David

[1] 
https://www.postgresql.org/message-id/e2636c5d-c031-43c9-a5d6-5e5c7e4c5514%40pgmasters.net



Commits

  1. Doc: improve documentation for jsonpath behavior.

  2. Extend sendFileWithContent() to handle custom content length in basebackup.c