Re: pg_combinebackup does not detect missing files
От | David Steele |
---|---|
Тема | Re: pg_combinebackup does not detect missing files |
Дата | |
Msg-id | 04c706a0-2461-484d-ad94-59add568b13a@pgmasters.net обсуждение исходный текст |
Ответ на | Re: pg_combinebackup does not detect missing files (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: pg_combinebackup does not detect missing files
|
Список | pgsql-hackers |
On 5/17/24 22:20, Robert Haas wrote: > On Fri, May 17, 2024 at 1:18 AM David Steele <david@pgmasters.net> wrote: >> However, I think allowing the user to optionally validate the input >> would be a good feature. Running pg_verifybackup as a separate step is >> going to be a more expensive then verifying/copying at the same time. >> Even with storage tricks to copy ranges of data, pg_combinebackup is >> going to aware of files that do not need to be verified for the current >> operation, e.g. old copies of free space maps. > > In cases where pg_combinebackup reuses a checksums from the input > manifest rather than recomputing it, this could accomplish something. > However, for any file that's actually reconstructed, pg_combinebackup > computes the checksum as it's writing the output file. I don't see how > it's sensible to then turn around and verify that the checksum that we > just computed is the same one that we now get. Here's an example. First make a few backups: $ pg_basebackup -c fast -X none -D test/backup/full -F plain $ pg_basebackup -c fast -D test/backup/incr1 -F plain -i /home/dev/test/backup/full/backup_manifest Then intentionally corrupt a file in the incr backup: $ truncate -s 0 test/backup/incr1/base/5/3764_fsm In this case pg_verifybackup will error: $ pg_verifybackup test/backup/incr1 pg_verifybackup: error: "base/5/3764_fsm" has size 0 on disk but size 24576 in the manifest But pg_combinebackup does not complain: $ pg_combinebackup test/backup/full test/backup/incr1 -o test/backup/combine $ ls -lah test/backup/combine/base/5/3764_fsm -rw------- 1 dev dialout 0 May 17 22:08 test/backup/combine/base/5/3764_fsm It would be nice if pg_combinebackup would (at least optionally but prefferrably by default) complain in this case rather than the user needing to separately run pg_verifybackup. Regards, -David
В списке pgsql-hackers по дате отправления: