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 CAA4eK1JjbY1pZmCyX_1OeCH4jpE=7UPoZw9QQ3bOYOY=nvhMhw@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  (Magnus Hagander <magnus@hagander.net>)
List pgsql-hackers
On Sat, Mar 19, 2016 at 5:45 PM, Magnus Hagander <magnus@hagander.net> wrote:
On Wed, Mar 2, 2016 at 6:49 PM, Marco Nenciarini <marco.nenciarini@2ndquadrant.it> wrote:

I've attached an updated patch, which is rebased on current master and includes the oid fix.



+       <entry>Finish performing exclusive on-line backup (restricted to superusers or replication roles)</entry>

+      </row>

+      <row>

+       <entry>

+        <literal><function>pg_stop_backup(<parameter>exclusive</> <type>boolean</>)</function></literal>

+        </entry>

+       <entry><type>setof record</type></entry>

+       <entry>Finish performing exclusive or non-exclusive on-line backup (restricted to superusers or replication roles)</entry>



Isn't it better to indicate that user needs to form a backup_label and tablespace_map file from the output of this API and those needs to be dropped into data directory?

Also, I think below part of documentation for pg_start_backup() needs to be modified:

<para>

    <function>pg_start_backup</> accepts an

    arbitrary user-defined label for the backup.  (Typically this would be

    the name under which the backup dump file will be stored.)  The function

    writes a backup label file (<filename>backup_label</>) and, if there

    are any links in the <filename>pg_tblspc/</> directory, a tablespace map

    file (<filename>tablespace_map</>) into the database cluster's data

    directory, performs a checkpoint, and then returns the backup's starting

    transaction log location as text.  The user can ignore this result value,

    but it is provided in case it is useful.



Similarly, there is a description for pg_stop_backup which needs to be modified.


CREATE OR REPLACE FUNCTION

-  pg_start_backup(label text, fast boolean DEFAULT false)

+  pg_start_backup(label text, fast boolean DEFAULT false, exclusive boolean DEFAULT true)

   RETURNS pg_lsn STRICT VOLATILE LANGUAGE internal AS 'pg_start_backup';



One thing, that might be slightly inconvenient for user is if he or she wants to use this API for non-exclusive backups then, they need to pass the value of second parameter as well which doesn't seem to be a big issue.

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

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Incorrect format in error message
Next
From: Craig Ringer
Date:
Subject: Re: Re: [COMMITTERS] pgsql: Enable logical slots to follow timeline switches