← Back to all sparks
P

pgBackRest

DEVOPS
Velocity2.5

Reliable backup and restore solution for PostgreSQL

PostgreSQL 19 support lands, and pgBackRest stops letting you run most commands as root.

postgresql backupobject storagecloud identityprivilege reduction
Current state
2.59.0 in July added PostgreSQL 19 support and changed a long-standing default: only the restore command may run as root now, with anything else requiring an explicit allow-root. The same release ships a pregenerated distribution tarball so packagers no longer need the code-generation toolchain, and picks up an optional libsystemd dependency. Before it, 2.58.0 concentrated on object storage — HTTP support for S3, GCS and Azure, Azure managed identities, experimental S3 EKS pod identity, and configurable TLS cipher suites.
Where it's heading
Two currents run through this window. The first is keeping pace with PostgreSQL itself, where support arrives experimentally a release early — PostgreSQL 18 in 2.55.0, 19 in 2.59.0 — so the backup tool is ready before the database is. The second is a steady move toward cloud-native identity and away from ambient privilege: managed identities and pod identity replace stored keys, and the root restriction narrows what a compromised invocation can reach.
Prediction
Given the pattern of adding experimental support one PostgreSQL cycle ahead and hardening defaults as the release lands, the next release is likely to promote PostgreSQL 19 support out of its initial state. The notes do not say whether allow-root will be deprecated further.

Recent moves

  1. 18d ago

    v2.59.0: PostgreSQL 19 Support

    PostgreSQL 19 support arrives, and the privilege model tightens: only restore may run as root by default, everything else needs allow-root. Packagers get a pregenerated distribution tarball that removes the code-generation build tooling, and libsystemd becomes an optional dependency.

    View source ↗
  2. 6mo ago

    v2.58.0: Object Storage Improvements

    Object storage gets a broad pass: HTTP support for S3, GCS and Azure, Azure managed identities, experimental S3 EKS pod identity, configurable TLS cipher suites, and expiry of the oldest full backup regardless of retention. The identity work is the part that removes stored credentials from the picture.

    View source ↗
  3. 9mo ago

    v2.57.0: Suppress Repository Symlinks

    Adds a repo-symlink option to suppress repository symlink creation, plus HTTP retries on 408 and 429 responses. Narrow, but both address real deployment friction.

    View source ↗
  4. 1y ago

    v2.55.1: Bug Fixes

    Reverts a conditional content-MD5 calculation on S3 and fixes lower-bounds checking for option keys.

    View source ↗
  5. 1y ago

    v2.56.0: Progress Info Improvements

    Restore progress appears in info command output, with a progress-only detail level for scripting it, and reads on object stores retry on failure.

    View source ↗
  6. 1y ago

    v2.55.0: Verification Improvements and PostgreSQL 18 Support

    PostgreSQL 18 experimental support, verification of the recovery target timeline, verification of a specified backup, S3 and GCS requester-pays support, and connections to PostgreSQL over abstract domain sockets.

    View source ↗