Search Postgresql Archives

Re: The backup API and general purpose backup software

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux