Restore testing
Restore a custom-format archive into a new container with bounded resources and no published network ports.
OUR WORK / Open-source projects
Test PostgreSQL backups in disposable Docker containers and compare restored schemas and row counts with a reference.
The existence of a backup file does not establish that PostgreSQL can restore it. Administrators need a repeatable restore check with a clear record of what was tested.
Novasoft built a Node.js command-line utility that restores custom-format PostgreSQL archives into disposable Docker containers, inspects the restored database and optionally compares the result with a reference manifest. It records reports, diagnostics and cleanup outcomes locally.
PG Restore Proof replaces “we think the backup works” with a repeatable test that shows what actually restored.
Point it at a pg_dump custom-format archive. It starts a fresh PostgreSQL container, restores the archive in a single transaction that stops at the first error, inspects what came back, and removes the container. Each run leaves a readable report, a machine-readable report, a manifest of the restored schema and row counts, and the error log when there is one.
For a stronger check, capture a reference from the source database first. The tool then compares schemas, columns, constraints, indexes, views and exact row counts against it and lists every difference.
A restore-only pass means PostgreSQL accepted the archive and the result could be inspected. A manifest-matched pass means everything recorded in the reference also matches. Neither proves the data is identical row by row, that permissions came back, or that your application will run. A backup with the right row counts but changed values can still pass, and the tool says so in its report. Exact row counts can also be slow on very large databases.
Version 0.1.0 is an early, MIT-licensed release with no npm dependencies. It’s the kind of check we run in our backup and recovery work.
EXPLORE THE SOURCE
CAPABILITY IN PRACTICE
Restore a custom-format archive into a new container with bounded resources and no published network ports.
Compare recorded schema definitions and exact table row counts against a supplied manifest.
Produce Markdown and JSON reports with restore status, image identity, differences and cleanup results.
Contact Novasoft
Tell us what you need and we’ll tell you honestly whether we can help.