Re: Updated backup APIs for non-exclusive backups - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Updated backup APIs for non-exclusive backups
Date
Msg-id CAA4eK1+10qt9nkUWRB0xcFR45+dvXupy48y+UdpFvgf+6H=9PQ@mail.gmail.com
Whole thread Raw
In response to Re: Updated backup APIs for non-exclusive backups  (Magnus Hagander <magnus@hagander.net>)
Responses Re: Updated backup APIs for non-exclusive backups
List pgsql-hackers
On Tue, Mar 29, 2016 at 11:39 PM, Magnus Hagander <magnus@hagander.net> wrote:
On Tue, Mar 29, 2016 at 6:40 PM, Magnus Hagander <magnus@hagander.net> wrote:
So - I can definitely see the argument for returning the stop wal *location*. But I'm still not sure what the definition of the time would be? We can't return it before we know what it means...


I had a chat with Heikki, and here's another suggestion:

1. We don't touch the current exclusive backups at all, as previously discussed, other than deprecating their use. For backwards compat.

2. For new backups, we return the contents of pg_control as a bytea from pg_stop_backup(). We tell backup programs they are supposed to write this out as pg_control.backup, *not* as pg_control.

3a. On recovery, if it's an exlcusive backup, we do as we did before.

3b. on recovery, in non-exclusive backups (determined from backup_label), we check that pg_control.backup exists *and* that pg_control does *not* exist.

Currently pg_control has been read before backup_label file, so as per this proposal do you want to change that?  If yes, I think that will make this patch more invasive with respect to handling of failure modes.  Also as David points out, I also feel that it will raise the bar for usage of this API.


With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: IF (NOT) EXISTS in psql-completion
Next
From: Simon Riggs
Date:
Subject: Re: standby_schedule