Backups and restore
Every database is backed up continuously and kept 30 days.
Built on WAL-G, restic and PostgreSQL
Plans: Every plan, including the free app
| Self-service restore | Starter | Team | Business | Enterprise |
|---|---|---|---|---|
| Included | 7 days | 7 days | 30 days | By agreement |
What you get
- Continuous database backups
- A full backup every night
- Backups kept for 30 days on every plan
- Restore to any minute within your plan's window
- A restored copy you can check before it goes live
- A restore point before risky work
- The previous database kept after a swap
How it works
WAL-G copies every change to each PostgreSQL database as it is written, and takes a full backup every night. The last 30 nightly backups are kept, so a database can be rebuilt to any minute in the last 30 days. Files kept on each server are backed up every night with restic.
Restoring a database yourself is part of the paid plans, and the table on this page shows how far back each plan goes. whisk restore --at builds a copy of the database at that moment, beside the live one, to check first. Adding --swap puts the copy live and keeps the previous database for a day.
whisk db snapshot marks a restore point before risky work, and a confirmed change through database access for agents takes one by itself. Backups are tested every week by the restore drills.
Example
An electrical contractor's office imports a spreadsheet of labour rates on a Tuesday afternoon and overwrites the wrong rows. The agent restores the database to 2:00 that afternoon beside the live one and compares the rates. It swaps the copy in before the evening's job costing runs.
For your coding agent
whisk db snapshot whisk restore --at <time> whisk db query "<sql>" --database <restored database> --json whisk restore --at <time> --swap
The restore result names the restored database. Every flag is in the CLI reference.