Re: The backup API and general purpose backup software - Mailing list pgsql-general

From Ron
Subject Re: The backup API and general purpose backup software
Date
Msg-id 2b29404d-1c74-35ec-1495-5f689611e5b5@gmail.com
Whole thread Raw
In response to Re: The backup API and general purpose backup software  ("Peter J. Holzer" <hjp-pgsql@hjp.at>)
Responses Re: The backup API and general purpose backup software  ("Peter J. Holzer" <hjp-pgsql@hjp.at>)
List pgsql-general
On 6/21/20 10:45 AM, Peter J. Holzer wrote:
> On 2020-06-21 10:32:16 -0500, Ron wrote:
>> On 6/21/20 8:28 AM, Peter J. Holzer wrote:
>>> To make a full backup with the "new" (non-exclusive) API, a software
>>> must do the following
>>>
>>> 1. open a connection to the database
>>>
>>> 2. invoke pg_start_backup('label', false, false) in the connection from
>>>      step 1.
>>>
>>> 3. copy the contents of the data directory to the backup medium
>>>
>>> 4. invoke pg_stop_backup(false, true) in the connection from step 1.
>>>
>>> 5. copy the result from the previous step to the backup medium.
>> I don't understand that last step "5. copy the result from the previous step
>> to the backup medium."  It seems to be a duplication of "3. copy the
>> contents of the data directory to the backup medium".
> Step three copies all the files from the data directory. However, there
> is an additional piece of information you you need to recover the
> database, and that is only returned by the call to pg_stop_backup:
>
> postgres=# select * from pg_stop_backup(false, true);
> ╔═[ RECORD 1 ]═════════════════════════════════════════════════════════════════╗
> ║ lsn        │ A9/2F000130                                                     ║
> ║ labelfile  │ START WAL LOCATION: A9/2F000028 (file 00000001000000A90000002F)↵║
> ║            │ CHECKPOINT LOCATION: A9/2F000060                               ↵║
> ║            │ BACKUP METHOD: streamed                                        ↵║
> ║            │ BACKUP FROM: master                                            ↵║
> ║            │ START TIME: 2020-06-21 17:36:30 CEST                           ↵║
> ║            │ LABEL: backup # 1234                                           ↵║
> ║            │ START TIMELINE: 1                                              ↵║
> ║            │                                                                 ║
> ║ spcmapfile │ 17522 /home/postgres                                           ↵║
> ║            │                                                                 ║
> ╚════════════╧═════════════════════════════════════════════════════════════════╝
>
> Without this information the backup is useless, so it must be backed
> up, too. Obviously you can do that only after you got it.

Thanks.  A clearer instruction for step 4, I'd have said something like 
"invoke pg_stop_backup(false, true)in the connection from step 1, piping the 
output to a file on the backup medium."

-- 
Angular momentum makes the world go 'round.



pgsql-general by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: Netapp SnapCenter
Next
From: raf
Date:
Subject: Re: Hiding a GUC from SQL