历史版本。 PostgreSQL 13 已结束支持。 2025-11-13. 请参阅 当前版本手册.
第 72 章 备份清单格式
pg_basebackup 生成的备份清单,主要是为了允许使用 pg_verifybackup 验证备份。不过,其他工具也可以读取备份清单文件,并将其中包含的信息用于它们自己的用途。为此,本章描述备份清单文件的格式。
备份清单是一个以 UTF-8 编码的 JSON 文档。(尽管一般来说 JSON 文档必须是 Unicode,但 PostgreSQL 允许将 json 和
jsonb 数据类型用于任何受支持的服务器编码。备份清单则没有类似的例外。)该 JSON 文档始终是一个对象;该对象中出现的键将在下一节中说明。
72.1. 备份清单顶层对象 #
备份清单 JSON 文档包含以下键。
PostgreSQL-Backup-Manifest-Version其对应的值始终为整数 1。
Files其对应的值总是一个对象列表,其中每个对象描述备份中存在的一个文件。为了使用该备份所需的 WAL 文件,以及备份清单文件本身,都不会在此列表中出现条目。该列表中每个对象的结构见第 72.2 节。
WAL-Ranges其对应的值总是一个对象列表,其中每个对象描述一个 WAL 记录范围。为了使用该备份,必须能够从某条特定时间线上读取该范围内的 WAL 记录。这些对象的结构在第 72.3 节中有进一步说明。
Manifest-Checksum该键总是出现在备份清单文件的最后一行。其对应的值是此前所有行的 SHA256 校验和。这里使用固定的校验和方法,是为了让客户端能够对清单进行增量解析。尽管 SHA256 校验和明显比 CRC32C 校验和开销更高,但清单通常足够小,因此这些额外计算一般并不重要。