受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: devel

Chapter 66. 备份清单格式

pg_basebackup 生成的备份清单,主要是为了允许使用 pg_verifybackup 验证备份。不过,其他工具也可以读取备份 清单文件,并将其中包含的信息用于它们自己的用途。为此,本章描述备份清单 文件的格式。

备份清单是一个以 UTF-8 编码的 JSON 文档。(尽管一般来说 JSON 文档必须 是 Unicode,但 PostgreSQL 允许将 jsonjsonb 数据类型用于任何受支持的服务器编码。备份清单则没有类 似的例外。)该 JSON 文档始终是一个对象;该对象中出现的键将在下一节中说 明。

66.1. 备份清单顶层对象 #

备份清单 JSON 文档包含以下键。

PostgreSQL-Backup-Manifest-Version

其对应的值是一个整数。从 PostgreSQL 17 开始,该值为 2;在较早的版 本中,该值为 1

System-Identifier

执行该备份的 PostgreSQL 实例的数据库系统标识 符。只有当 PostgreSQL-Backup-Manifest-Version2 时,才会出现该字段。

Files

其对应的值总是一个对象列表,其中每个对象描述备份中存在的一个文件。为 了使用该备份所需的 WAL 文件,以及备份清单文件本身,都不会在此列表中出 现条目。该列表中每个对象的结构见 Section 66.2

WAL-Ranges

其对应的值总是一个对象列表,其中每个对象描述一个 WAL 记录范围。为了使 用该备份,必须能够从某条特定时间线上读取该范围内的 WAL 记录。这些对象 的结构在 Section 66.3 中有进一步说 明。

Manifest-Checksum

该键总是出现在备份清单文件的最后一行。其对应的值是此前所有行的 SHA-256 校验和。这里使用固定的校验和方法,是为了让客户端能够对清单进 行增量解析。尽管 SHA-256 校验和明显比 CRC-32C 校验和开销更高,但清单 通常足够小,因此这些额外计算一般并不重要。

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。