Backups and PITR
Backups you have already restored
Every engine is backed up straight from the instance's namespace to object storage, with point-in-time recovery where the engine supports it. Restores are rehearsed weekly, and the last backup of an instance is never pruned.
How it works
Backups and PITR, step by step
- Step 01
Schedule
Your plan sets the ceiling for frequency and retention. Tighten it per instance: schedule time, retention, PITR and a cross-region target.
- Step 02
Back up
barman-cloud with WAL archiving for PostgreSQL, mysqldump and mongodump, RDB/AOF, libSQL bottomless, clickhouse-backup and data directory snapshots all stream to the cell's object storage. Each upload is checksummed.
- Step 03
Verify
A restore of each engine in each cell is rehearsed every week, so a backup is known to work before you need it.
- Step 04
Restore
Restore a backup or a point in time into a new instance, leaving the original untouched, or in place after typing the instance name.
What you get
-
Point-in-time recovery
Restore to any second inside the window. Included on Enterprise, and an add-on on other paid plans at $100 per instance / month / 7 days of retention.
-
Manual snapshots
Take a labelled snapshot before a release. Each plan sets how many you can keep.
-
Immutable on secure hosting
Secure placement uses Object Lock buckets, so backups cannot be changed or deleted inside the 35-day retention.
-
Cross-region copies
Copy backups to a second region on plans that allow it, for recovery from a regional outage.
-
Backup before every risky change
A backup is always taken before a resize, a version upgrade or an in-place restore. That is not configurable.
-
Backup health and audit
See the last successful backup and last verified restore across your org. Every backup, restore and delete is an audit event.
Try it
zb backups create inst_7f3k --label pre-release-1.4
zb backups list inst_7f3k
zb backups pitr-window inst_7f3k
# Restore a point in time into a new instance (the original is untouched)
zb backups restore inst_7f3k bkp_01J9... \
--at "2026-09-27T08:15:00Z" --name orders-restored
# Tighten the schedule within your plan
zb backups settings inst_7f3k --frequency daily --retention-days 7 --time 03:00Plan availability
Generated from the same plan catalogue that billing and the API use.
- Limited
Free
$0 /mo1 manual snapshot
- Included
Solo
$25 /moDaily, 7-day retention · PITR add-on
- Included
Team
$599 /moDaily, 14-day retention · PITR add-on
- Included
Enterprise
CustomHourly, 35-day retention · PITR 35 days · cross-region copy · immutable (Object Lock)
Backups are kept for the plan's retention after you delete an instance, and the last backup is never pruned while the instance exists.
Questions
Can I restore without touching production?
Yes. The default restore creates a new instance from the backup or point in time. Your original keeps running, and you can copy data back with zb migrate when you are ready.
What does an in-place restore do?
It asks you to type the instance name, takes a pre-change backup, scales the instance down, restores, scales up and verifies. The downtime estimate is shown first.
Does the free plan include backups?
The free plan keeps one manual snapshot. Scheduled backups start on Solo.
How do I know a backup will restore?
Restores are rehearsed weekly for every engine in every cell, and the org-wide backup health view shows the last successful backup and last verified restore.
Related features
-
Secure hosting
HIPAA-ready placement you turn on per database, under a signed BAA, with dedicated nodes and per-org keys.
Learn more about Secure hosting -
Migrations
Move a database in from another provider, a server, your laptop or a file, verified before cutover.
Learn more about Migrations -
CLI
The zb command line: create, connect, back up, restore, migrate and report on usage from your terminal or CI.
Learn more about CLI
Start today
Create your first database
A free instance, no card. Upgrade when you outgrow it; nothing converts silently.