MKP product
Live now

pgDumpster

A source-available CLI for backing up, verifying, inspecting, and restoring hosted Supabase projects with explicit coverage for the database, Storage, Auth, Edge Functions, and project configuration.

The problem

A database dump is not the same as a recovery plan for a hosted Supabase project. Data and configuration can also live in Storage, Auth, Edge Functions, API keys, Vault, and other platform surfaces, while some values cannot be exported or recreated identically through Supabase's public interfaces.

pgDumpster is designed not to hide those gaps. If something cannot be exported, verified, or restored automatically, it is reported as a platform or manual limitation instead of being silently treated as a complete backup.

Comparison between a database-only dump and pgDumpster project coverage

Product goals and requirements

The goal is a verifiable recovery process for one hosted Supabase project where the backup material can be moved, inspected and validated before a restore.

The implemented coverage includes:

  • Database backup and restore with explicit handling of managed and non-portable state
  • Storage catalog plus streamed object capture
  • Auth, SSO, Third-party Auth and API-key coverage with platform-limit semantics
  • Edge Function source-tree capture and deployment to the target
  • Encrypted .tar.zst.age output using age
  • SHA-256 verification plus offline inspect, coverage and verify
  • Checkpoints, resume and drift detection across the backup flow
  • Local and S3-compatible destinations
  • Restore dry-run, immutable restore plan, checkpointed executor and parity report
  • JSON output and non-interactive operation for CI

The solution

pgDumpster is a CLI that creates a portable, inspectable backup bundle. The backup flow records coverage across supported surfaces, verifies integrity and can later build a restore plan against a separate fresh target project.

The normal recovery path is staged: doctor, backup, offline verify/coverage/inspect, restore dry-run and only then an explicit restore --apply.

Backup coverage across PostgreSQL, Storage, Auth, Edge Functions, and project configuration

pgDumpster workflow from discovery and backup through verification and restore

Key technical decisions

Fail-closed coverage

Missing export or restore coverage is not treated as success. Limitations caused by Supabase's public interfaces or requiring manual handling receive an explicit coverage result. That is part of the product contract and prevents an incomplete backup from being presented as complete.

Restore as separate stages

Verification, inspection and the restore plan come before the explicit restore --apply. The restore plan is immutable and can be inspected as a separate part of the flow before the executor applies it to the target project.

Integrity and encryption

Backup output can be encrypted as .tar.zst.age, and SHA-256 verification is used for integrity checking. Offline verify, coverage and inspect can therefore run against the produced bundle without starting a restore.

Validation and current status

v0.1.2 is published as an npm package and can be installed as a global CLI. The exact release SHA passed repository CI, CodeQL, official-contract drift and a protected hosted source-to-target E2E before publication.

The live recovery test completed an encrypted backup, offline verification and restore to a clean target with 55 terminal coverage components. The result also reported platform limitations that cannot be recreated automatically.

Restore safety and the explicit split between planned actions and manual limitations

Product website and documentation

The product website is structured as a technical introduction to the tool, focusing on coverage, recovery limits, prerequisites, workflow and licensing. The same information hierarchy is adapted for mobile viewports.

pgDumpster product website on mobile

Install the CLI from npm:

npm install -g pgdumpster
pgdumpster --version

License and boundaries

pgDumpster is source-available under the PolyForm Shield License 1.0.0. Internal and non-competing use is permitted under the license terms; operating a competing hosted, managed or white-label backup service requires a separate commercial license.

The project is independent of Supabase and is not affiliated with, sponsored by or maintained by Supabase.

Do you have a system or integration problem?

Describe the problem if it needs a custom solution rather than another off-the-shelf tool.

Describe your project