{
  "slug": "backup-manifest",
  "term": "Backup manifest",
  "aliases": [],
  "definition": "A backup manifest is a machine-readable inventory of expected backup contents and associated verification metadata.",
  "note": "PostgreSQL uses UTF-8 JSON, with file paths, sizes and optional checksum fields; recorded modification times are informational. The format also identifies required WAL ranges. Other backup formats need not use this schema.",
  "status": "shipping",
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-13",
  "advantages": [
    {
      "text": "Provides explicit expected file contents for automated checks.",
      "citationIds": [
        "manifest",
        "files"
      ]
    }
  ],
  "limitations": [
    {
      "text": "Optional per-file checksums must not be assumed present.",
      "citationIds": [
        "files"
      ]
    },
    {
      "text": "A hash match cannot authenticate a manifest that an attacker could also replace.",
      "citationIds": [
        "base"
      ]
    }
  ],
  "related": [
    "backup-verification",
    "incremental-backup",
    "restore-test",
    "immutability-storage"
  ],
  "citations": [
    {
      "id": "manifest",
      "title": "PostgreSQL 18: Backup Manifest Format",
      "url": "https://www.postgresql.org/docs/18/backup-manifest-format.html",
      "accessed": "2026-10-13"
    },
    {
      "id": "files",
      "title": "PostgreSQL 18: Backup Manifest File Object",
      "url": "https://www.postgresql.org/docs/18/backup-manifest-files.html",
      "accessed": "2026-10-13"
    },
    {
      "id": "ranges",
      "title": "PostgreSQL 18: Backup Manifest WAL Range Object",
      "url": "https://www.postgresql.org/docs/18/backup-manifest-wal-ranges.html",
      "accessed": "2026-10-13"
    },
    {
      "id": "base",
      "title": "PostgreSQL 18: pg_basebackup, manifest checksums and trust",
      "url": "https://www.postgresql.org/docs/18/app-pgbasebackup.html",
      "accessed": "2026-10-13"
    },
    {
      "id": "hesela-backup-evidence",
      "title": "Hesela: Backup verification is not a restore test",
      "url": "https://hesela.com/analyses/backup-verification-is-not-a-restore-test/",
      "accessed": "2026-10-13"
    }
  ]
}
