On 8/9/21 1:15 PM, Matthias Apitz wrote:
Hello,
We do backups with something like:

$ pg_basebackup -U ${DBSUSER} -Ft -z -D ${BACKUPDIR}-${DATE}-${NUM}

and they seems to work fine:

$ ls -l backup-20210809-1/
total 7656108
-rw------- 1 postgres postgres    4191873 Aug  9 14:19 backup_manifest
-rw------- 1 postgres postgres 7835635150 Aug  9 14:19 base.tar.gz
-rw------- 1 postgres postgres      17671 Aug  9 14:19 pg_wal.tar.gz

But, if I verify the backup with

$ pg_verifybackup /data/postgresql13/backup-20210809-1

it gives thousands of error messages like

pg_verifybackup: error: "base/1032792/1034229" is present in the manifest but 
not on disk
pg_verifybackup: error: "base/1076178/1101524" is present in the manifest but 
not on disk

and at the end:

pg_waldump: error: could not open directory 
"/data/postgresql13/backup-20210809-1/pg_wal": No such file or directory
pg_verifybackup: error: WAL parsing failed for timeline 1

The base files are there:

$ find /data/postgresql13 -name 1101524
/data/postgresql13/data/base/1076178/1101524

$ find /data/postgresql13 -name pg_wal
/data/postgresql13/data/pg_wal

What we do wrong here with pg_verifybackup?
Not read the docs?:

https://www.postgresql.org/docs/13/app-pgverifybackup.html

"pg_verifybackup is used to check the integrity of a database cluster backup taken using pg_basebackup against a backup_manifest generated by the server at the time of the backup. The backup must be stored in the "plain" format; a "tar" format backup can be checked after extracting it."
Thanks

        matthias


--
Adrian Klaver
adrian.kla...@aklaver.com


Reply via email to