Restore in the app
Restore a backupd backup into a different database or over the original, from the backup's page.
Owners and admins can restore any successful backup from the app. backupd decrypts the backup and restores it with the engine's own tools.
Start a restore
- Open the backup from Storage, Activity or the database's Backups tab.
- Click Restore.
- In Restore this backup, choose where it goes.
A different database (recommended)
Restore into a fresh or staging database, check it, then switch over.
- Paste the Target connection string. The database must already exist. The credentials are encrypted and used only for this restore.
- The same connection rules apply as for backups: the target must be reachable from the internet over TLS.
- Tick Replace tables that already exist in the target if the target already has some of the backup's tables and you want them replaced.
- Click Start restore.
Overwrite the original
Replaces the backed-up tables in the original database. Type the database's name to confirm, then click Overwrite followed by the database name.
Overwriting replaces the data in your live database with the backup's. Prefer restoring into a different database first, unless you are sure.
What happens during a restore
The backup's page shows progress while the restore runs, and each restore is listed under Restores with its status: Queued, Running, Restored, Failed or Cancelled.
How each engine restores:
| Engine | Behavior |
|---|---|
| PostgreSQL | pg_restore in a single transaction, without owners or privileges. If anything fails, the target is left as it was. Restores into servers older than 17 are handled automatically. |
| MySQL, MariaDB | backupd first checks the target for tables that already exist and stops if it finds any, unless you ticked the replace option. DEFINER clauses are removed. |
| MongoDB | mongorestore, stopping on the first error. Backups with an oplog are replayed with it. The replace option drops each collection before it is restored. |
| Convex | convex import into the deployment the backup came from. Restores into another deployment aren't available in the app. |
Limits
- One restore of a given backup runs at a time, and one restore per target.
- Restores running at once across the workspace: 1 on Starter, 2 on Pro.
- A restore stops if it runs longer than your plan's longest run (3 hours on Starter, 6 hours on Pro).
- Restores are not retried automatically. If one fails, fix the cause and start it again.
Every restore is recorded in the audit log.
Restore without the app
You can also download a backup and restore it yourself, with or without backupd. See Download a backup and Restore without backupd.