pg_verifybackup 是一个核心工具,用于通过备份清单验证由pg_basebackup创建的备份的完整性。
pg_verifybackup 在 PostgreSQL 13 中添加。
用法
最简单的用法是,通过提供包含备份清单文件的数据目录路径来执行 pg_verifybackup,它将报告验证成功或包含错误的文件详情。
pg_verifybackup 应在备份完成后、但在服务器启动之前执行。如果服务器已启动,它将报告错误。
提供了额外的选项来控制详细程度、各种文件和目录的位置(备份清单本身、pg_wal目录等);有关更多详细信息,请参阅文档和/或 pg_verifybackup --help 的输出。
某些可能在备份后进行修改的文件()将被排除在验证之外,任何使用 -i/--ignore 选项指定的任何文件/路径也将被排除。
请注意,与其他许多实用程序不同,pg_verifybackup 不可选地接受 -D/--pgdata 选项来指定数据目录;这一不一致性的理由可以在 此处找到。
变更历史
- PostgreSQL 18
- 增加了对 tar 格式备份验证的支持(提交 8dfd3129)
- PostgreSQL 16
- 增加了
-P/--progress选项(提交 d07c2948)
- 增加了
- PostgreSQL 13
- 已添加(初始提交 0d8c9c12,最初名为
pg_validatebackup)
- 已添加(初始提交 0d8c9c12,最初名为
示例
pg_verifybackup 的基本用法示例
$ pg_basebackup -l "base backup" -D /path/to/data -h node1 -U repuser -c fast -X stream --no-slot --verbose pg_basebackup: initiating base backup, waiting for checkpoint to complete pg_basebackup: checkpoint completed pg_basebackup: write-ahead log start point: 0/4000028 on timeline 1 pg_basebackup: starting background WAL receiver pg_basebackup: write-ahead log end point: 0/4000100 pg_basebackup: waiting for background process to finish streaming ... pg_basebackup: syncing data to disk ... pg_basebackup: renaming backup_manifest.tmp to backup_manifest pg_basebackup: base backup completed $ pg_verifybackup /path/to/data backup successfully verified
参考资料
- PostgreSQL 文档: pg_verifybackup
另请参阅
备份清单, pg_basebackup
