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.klaver@xxxxxxxxxxx