Synthetic Industry

Troubleshooting guide · updated 2026-10-10

A backup file is not proof of recovery: define and test a restore

Check database, uploaded files, roles and application behaviour in an isolated restoration rather than trusting a scheduled success message.

Inventory what must be recovered

List the database, uploaded media, necessary code/configuration and external dependencies. A database-only backup cannot recover files stored elsewhere. Name the required recovery point and acceptable interruption as customer decisions, not guessed numbers. Record who can perform a restore through an approved route.

  • Keep backup storage independent of the failure you are protecting against.
  • Review permissions, encryption and retention without putting keys in the repository.
  • Do not send production backups to an agent as a first enquiry.

Match the restore to the backup

PostgreSQL distinguishes plain SQL dumps from archive formats restored with pg_restore. A normal pg_dump covers one database, not cluster-wide roles or tablespaces. Missing roles can affect ownership and grants. Check tool versions, extensions and the intended target before treating a file as a portable whole-system recovery.

  • Use only trusted backup material; restoring it can execute database instructions.
  • Stop and record restore errors rather than counting a partially loaded database as success.

Prove recovery on an isolated destination

Restore through the authorised operator into a disposable destination with external mail, payments and integrations disabled. Inspect expected records, required files and a small set of business flows. A success exit code is useful but insufficient if the application cannot authenticate, locate uploads or perform its agreed write path.

  • Keep the backup ID, timestamp, restoration result and exceptions.
  • Test with permitted synthetic or approved non-sensitive evidence.
  • Do not overwrite the live database to prove the backup works.

What the handover says

Name exactly what was restored, what was not tested and how the operator repeats the procedure. No restore-time guarantee is established without measurement. For a backup setup enquiry, send platform and storage boundaries, not dump contents or storage credentials.

Sources and limits

  • PostgreSQL: SQL dump backup Checked 2026-10-10.
    • pg_dump backs up one database with an internally consistent snapshot.
    • Cluster-wide roles and tablespaces are not included in an ordinary pg_dump.
    • Restore tooling depends on dump format; SQL restoration can continue after errors unless configured otherwise.
  • Django: deployment checklist Checked 2026-10-10.
    • Database and user-uploaded media both need backup strategies.