← Back to all sparks
P

pgBackRest

DEVOPS
Velocity5.0

Reliable backup and restore solution for PostgreSQL

pgBackRest 2.60 now stops a restore when a page checksum is bad

postgresqlbackupdata-integrityobject storageworkload-identityencryption
◆Current state
pgBackRest 2.60.0, released October 18, changes a default: restore now errors and stops if a restored file has an invalid page checksum, leaving the cluster unable to start until the restore is rerun, and expire refuses to proceed if the oldest retained backup would contain checksum errors. Setting checksum-page-error=n returns to warnings. The release also adds GCS Workload Identity Federation and prefetch for object-store reads. Two weeks earlier 2.59.3 fixed a bug that could generate weak encryption subkeys and salts when system random data failed.
◆Where it's heading
The project is moving from reporting corruption to refusing to continue past it, a stricter stance that fits the root restriction in 2.59.0. Cloud identity continues too, with GCS joining the Azure and S3 work. Underneath, the code generation, documentation tools and test harness have moved from C and Perl to Python, and a documented release schedule and new website show the project formalizing how it runs.
◆Prediction
Patches tracking PostgreSQL 19 should continue, as 2.59.2 did with 19beta4. Now that restore can fail on checksums, expect follow-up fixes or guidance for clusters where existing backups contain them.

◆Recent moves

  1. 18d ago

    v2.60.0: Page Checksum Errors and Object Store Prefetch

    Restore and expire now stop on invalid page checksums unless checksum-page-error=n is set, with GCS Workload Identity Federation and object-store prefetch added. The new default is the part operators must plan for, and it marks a stricter stance on corruption.

    View source ↗
  2. 1mo ago

    v2.59.3: Weak Encryption Subkey Bug

    Fixes a bug that could produce weak encryption subkeys and salts when access to system random data failed, plus a checksum error loading encrypted files. A small patch with a security-relevant fix that encrypted repositories should take.

    View source ↗
  3. 1mo ago

    v2.59.2: PostgreSQL 19beta4 Support

    PostgreSQL 19beta4 support arrives with six fixes, including S3 version listing pagination and Azure SAS version headers. It continues the beta-by-beta tracking of the 2.59 cycle.

    View source ↗
  4. 2mo ago

    v2.59.1: PostgreSQL 19beta3 Support

    PostgreSQL 19beta3 support arrives one beta after 19 support itself, continuing the pattern of staying ahead of the database. Alongside it, a hang triggered whenever the chunk buffer was smaller than the input buffer, a backup label compared against the wrong full backup set, and GitHub-generated source archives that were missing files needed to build.

    View source ↗
  5. 3mo ago

    v2.59.0: PostgreSQL 19 Support

    The release that set the current cycle: PostgreSQL 19 support, a new distribution tarball with pregenerated documentation and code to simplify packaging, and the restriction of root execution to the restore command alone. The privilege change is the notable one — it narrows the blast radius of a compromised invocation and requires an explicit allow-root to opt back out.

    View source ↗
  6. 9mo ago

    v2.58.0: Object Storage Improvements

    The object-storage release, and the clearest statement of the identity direction: Azure managed identities and experimental S3 EKS pod identity replace stored credentials, with configurable TLS cipher suites alongside. Repositories are being made to work the way cloud platforms expect rather than the way a filesystem did.

    View source ↗