70.1. Объект верхнего уровня в манифесте #
Документ JSON, представляющий манифест копии, содержит следующие ключи.
PostgreSQL-Backup-Manifest-VersionСвязанное с этим ключом значение является целым числом. Начиная с PostgreSQL
17, это2, в предыдущих версиях —1.System-IdentifierИдентификатор базы данных экземпляра PostgreSQL, из которого была создана резервная копия. Это поле присутствует, только если
PostgreSQL-Backup-Manifest-Versionимеет значение2.FilesС этим ключом всегда связан список объектов, каждый из которых описывает файл, имеющийся в копии. В этом списке отсутствуют записи о файлах WAL, требующихся для использования копии, а также о самом манифесте. Структура каждого объекта в этом списке описана в Разделе 70.2.
WAL-RangesС этим ключом всегда связан список объектов, каждый из которых описывает диапазон записей WAL, которые необходимо прочитать для определённой линии времени, чтобы можно было восстановить эту копию. Структура этих объектов подробнее описана в Разделе 70.3.
Manifest-ChecksumЭтот ключ всегда находится в последней строке файла манифеста. Связанное с ним значение содержит контрольную сумму всех предыдущих строк, вычисленную по алгоритму SHA-256. Здесь используется фиксированный алгоритм, чтобы клиенты могли разобрать манифест последовательно. Алгоритм SHA-256 имеет большую вычислительную сложность, чем CRC-32C, но манифест обычно имеет достаточно скромный размер, так что эти дополнительные вычисления не должны играть большой роли.
70.1. Backup Manifest Top-level Object #
The backup manifest JSON document contains the following keys.
PostgreSQL-Backup-Manifest-VersionThe associated value is an integer. Beginning in PostgreSQL
17, it is2; in older versions, it is1.System-IdentifierThe database system identifier of the PostgreSQL instance where the backup was taken. This field is present only when
PostgreSQL-Backup-Manifest-Versionis2.FilesThe associated value is always a list of objects, each describing one file that is present in the backup. No entries are present in this list for the WAL files that are needed in order to use the backup, or for the backup manifest itself. The structure of each object in the list is described in Section 70.2.
WAL-RangesThe associated value is always a list of objects, each describing a range of WAL records that must be readable from a particular timeline in order to make use of the backup. The structure of these objects is further described in Section 70.3.
Manifest-ChecksumThis key is always present on the last line of the backup manifest file. The associated value is a SHA-256 checksum of all the preceding lines. We use a fixed checksum method here to make it possible for clients to do incremental parsing of the manifest. While a SHA-256 checksum is significantly more expensive than a CRC-32C checksum, the manifest should normally be small enough that the extra computation won't matter very much.