Australian-founded. Working worldwide.AU founded · Worldwide

OUR WORK / Open-source projects

PG Restore Proof

Test PostgreSQL backups in disposable Docker containers and compare restored schemas and row counts with a reference.

PG Restore Proof project logo and wordmark
Type of workOpen-source projects
ContextDatabase reliability tooling
StatusEarly release · v0.1.0

The challenge

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’s contribution

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.

What this makes possible

PG Restore Proof replaces “we think the backup works” with a repeatable test that shows what actually restored.

How it works

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.

What a pass does and doesn’t prove

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.

CAPABILITY IN PRACTICE

What the work included

01

Restore testing

Restore a custom-format archive into a new container with bounded resources and no published network ports.

02

Reference comparison

Compare recorded schema definitions and exact table row counts against a supplied manifest.

03

Recorded results

Produce Markdown and JSON reports with restore status, image identity, differences and cleanup results.

Contact Novasoft

Need something similar? Talk to us

Tell us what you need and we’ll tell you honestly whether we can help.

Talk to NovasoftEmail our team