Backups and recovery
Create database exports, configure retention, and restore into a separate database without overwriting the source.
Openstead supports logical backups for PostgreSQL, MySQL, and Key Value. Manage them from a database service's Recovery page. Backup management requires an owner or admin.
Automatic backups
Daily backups are enabled by default. In Automatic Backups, choose whether daily backups run and set retention:
| Database plan | Retention choices |
|---|---|
| MySQL Free | 1–7 days |
| Paid PostgreSQL, MySQL, or Key Value | 1–30 days |
The retention setting applies to new exports. Existing exports keep their displayed expiry dates. Scheduled backups require the database to be available; a paused or unavailable database does not produce a new successful recovery point.
Regularly check for completed backups. An enabled schedule alone does not prove that the latest export succeeded.
Create an export now
- Open the database's Recovery page.
- Select Create export.
- Wait for the export to complete and check its creation time and size.
- Use the download action when you need a local copy.
The download link is short-lived. If it expires, request another from the dashboard. Keep downloaded files in protected storage.
| Database | Export format |
|---|---|
| PostgreSQL | Custom-format .dump |
| MySQL | Logical .sql |
| Key Value | .rdb |
MySQL's consistent export path requires InnoDB tables. Avoid schema changes during the dump. Backups include the application's schema and data; they do not copy root credentials or the full MySQL server's system databases.
Restore a recovery copy
Restoration always creates a separate database. It does not overwrite the source.
- Choose a completed, unexpired export in Recovery.
- Select Restore into a new database.
- Name the recovery database, choose its plan, and confirm the source name.
- If the selected plan is paid, review and complete checkout for the recovery instance.
- Wait for provisioning and the actual import to finish.
- Verify representative tables, rows, and application behaviour before switching traffic.
A paid recovery instance has its own service month. For MySQL Free, the destination needs an available free slot. If the source occupies that slot, choose a paid recovery instance explicitly; Openstead does not silently purchase one.
Switch applications after verification
Change each application's connection references to the restored database and redeploy. Include workers and scheduled processes that also access the data.
For an active application, plan a final write pause or another reconciliation method so writes made after the backup are not lost during cutover. A logical recovery point contains the state captured by that export, not every later transaction.
New recovery instances have automatic backups disabled initially. After accepting the recovered database, review and enable the desired backup policy on the destination. Retain the original database until you are satisfied with the cutover.
Retry a failed restore
The recovery page preserves the failed result and offers a retry into the same destination. Use this flow instead of repeatedly creating databases. It retains the selected archive and existing destination rather than purchasing another recovery instance.
Check the original error first. MySQL imports can leave partial data after a failure; let the managed retry workflow handle its recovery destination. Do not point applications at a database still marked as restoring or needing attention.
What these backups cover
Logical database backups do not include application uploads, general-purpose persistent disks, or the application source repository. They are not whole-server images or continuous point-in-time recovery.
A persistent volume protects against routine container replacement. A backup provides a separate logical recovery point. Neither should be described as automatic high availability. Test restoration before relying on it for a critical recovery procedure.
Deleting an export removes that recovery point. Openstead prevents deletion of an export reserved by an unfinished restore until the restore is resolved or the recovery instance is explicitly deleted.