Backups and Restores
PostgreSQL, Valkey, and ClickHouse all support a backup and restore workflow. The shape is the same for all three, with service-specific commands where it helps.
What backups Watasu offers
Section titled “What backups Watasu offers”Two flavors:
- manual backups — you trigger them, on demand
- scheduled backups — Watasu runs them on a recurring cadence on supported plans
Entry-tier plans typically only support manual backups. Higher tiers add scheduled backups by default. The plan catalog in Add-on Plans tells you which is which.
Restore is not in-place
Section titled “Restore is not in-place”Restoring an add-on creates a replacement add-on from the backup, then you promote the replacement into the original’s attachment role.
This is intentionally safer than overwriting in place. You can validate the restored copy before flipping the app to it, and the original is still around if anything goes wrong.
The two-step model:
watasu addons:restore my-database backup-id-or-file --name my-database-restored# … verify the restored add-on …watasu addons:promote my-database-restoredAfter promotion, the app’s DATABASE_URL (or whatever the env var is) points at the restored copy.
Service-specific examples
Section titled “Service-specific examples”PostgreSQL
Section titled “PostgreSQL”# capture a manual backupwatasu pg:backups:capture --app my-app
# list available backupswatasu pg:backups --app my-app
# restore from a managed backupwatasu pg:backups:restore b101 DATABASE_URL --app my-app --name db-restored
# or restore from a local dump filewatasu pg:backups:restore ./production.dump DATABASE_URL --app my-app --name db-restored
# promote when readywatasu pg:promote db-restored --app my-appValkey
Section titled “Valkey”watasu addons:backups:capture my-cachewatasu addons:backups my-cachewatasu addons:restore my-cache ./backup.rdb --name my-cache-restoredwatasu addons:promote my-cache-restoredClickHouse
Section titled “ClickHouse”watasu addons:backups:capture analytics-dbwatasu addons:backups analytics-dbwatasu addons:restore analytics-db ./warehouse-backup.zip --name analytics-db-restoredwatasu addons:promote analytics-db-restoredWhen to capture a manual backup
Section titled “When to capture a manual backup”- before any risky schema migration
- before a destructive data operation
- before a major dependency upgrade that touches the database
- before scheduled maintenance windows
The few seconds it takes is the cheapest insurance you’ll ever buy.
Test restores before you need them
Section titled “Test restores before you need them”A backup that’s never been restored is a hopeful guess. Periodically:
- restore a recent backup into a replacement add-on
- attach it to a scratch app or run validation queries
- destroy the replacement when done
Doing this once a quarter beats discovering during an incident that your dump format changed.
What’s not in this flow
Section titled “What’s not in this flow”- Object Storage — durable but not part of this backup product. See Object Storage.
- Redpanda — durability is built into the broker; design retention deliberately. See Redpanda.