pgProofGet early access

Fix

pg_restore: unsupported version in file header

Your dump is fine. Your pg_restore is just older than the pg_dump that produced the file.

The error

pg_restore: error: unsupported version (1.16) in file header

The rule

Postgres client tools read dumps made by their own version or older, never newer. Two rules keep you safe:

The quick fix without touching your system

Docker gives you any client version in one line:

# restore with modern tools, no local install
docker run --rm -v "$PWD:/b" --network host postgres:17 \
  pg_restore --no-owner -h localhost -p 5432 -U postgres -d mydb /b/backup.dump

Or install a specific client alongside your system one — on Debian/Ubuntu with the PGDG repository, apt install postgresql-client-17, then call it explicitly: /usr/lib/postgresql/17/bin/pg_restore.

Find out what made the dump

pg_restore -l backup.dump | head -3
;     Archive created at 2026-09-01 03:00:12 UTC
;     dbname: postgres  ·  Dumped by pg_dump version: 17.2

If even -l fails with the header error, run it from a newer image as above.

Why this bites during disasters

Version mismatches are the classic silent backup failure: the nightly dump works for months, then the restore happens on a different machine, with older tools, at 2 a.m. The only reliable vaccine is restoring every backup with pinned, version-matched tooling — the drill.

Version-matched drills, automatically

pgProof restores every backup in a container matching your Postgres major version (13–17) and reports the result. A mismatch shows up the same day, not during the outage.

Join the early-access waitlist