DEV Community

Mads Hansen
Mads Hansen

Posted on

A successful pg_dump is not a recovery test

A nightly pg_dump exits zero. That proves a backup command ran—not that the system is recoverable.

A useful restore-verification contract defines:

  • RPO and RTO
  • covered databases, roles, extensions, and keys
  • an isolated clean restore
  • schema, integrity, permissions, and representative query checks
  • backup age and restore-verification age
  • artifact checksum and recovery-point evidence
  • ownership for failed drills

Test corrupt archives, missing keys, version mismatch, full disks, expired credentials, and interrupted restores. Then verify application and MCP authorization with the same roles and approved operations used in production.

A database that starts with the wrong grants or stale schema is not recovered.

Full guide: PostgreSQL for AI workloads needs a restore-verification contract

Top comments (0)