Skip to content
d3 Wiki
09.05

Backups and restore procedure

Losing data is recoverable in under an hour.

Updated
Oct 3, 2026
On this page

Purpose

Losing data is recoverable in under an hour.

The standard

  • Prod projects: Supabase daily backups (Pro) and PITR where enabled. Retention [TEAM: 7/30 days].

  • Weekly logical dump to [TEAM: storage]: npx supabase db dump --linked -f backup_$(date +%F).sql via a scheduled GitHub Action with a service credential.

  • Storage buckets: versioning [TEAM: on/off]; weekly sync to [TEAM: storage] for critical buckets.

  • Restore drill twice a year on a scratch project — a backup you haven't restored is a hope, not a backup.

Procedure — restore

  1. Create a scratch project. 2. Dashboard → Backups → restore to it (or psql < backup.sql). 3. Verify the data. 4. Copy the needed rows/tables into prod with a data migration, or, for full loss, swap connection strings after owner sign-off. 5. Write up per 07.06.

Owner: [TEAM] · Last reviewed: 2026-09