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: