Databases / Backups
Database backups
There are no automatic backups yet. Take your own dumps, add snapshots of the data disk, and know what each one does and does not give you.
What exists today
A database's data is on its own disk, which survives stops, starts and patching. It does not survive deleting the database, a mistaken DROP, or a bug in your application, and there is no second copy of it.
Take a dump
Run the engine's dump tool from any machine that can connect to the database, and keep the output somewhere other than the database's own network: a volume on another machine, or storage of your own.
$ pg_dump "host=db-7k2q9x4m1a.af-abj-2.db.pantechdynamics.com user=dbadmin dbname=defaultdb" \ --format=custom --file=defaultdb-$(date +%F).dumpRestore into an empty database with pg_restore:
$ pg_restore --no-owner -d "host=… user=dbadmin dbname=restored" defaultdb-2026-10-05.dumpUse a pg_dump at least as new as the server: version 18.
$ mysqldump -h db-7k2q9x4m1a.af-abj-2.db.pantechdynamics.com -u dbadmin -p \ --single-transaction --routines --triggers --databases app > app-$(date +%F).sqlRestore with mysql -h … -u dbadmin -p < app-2026-10-05.sql. The admin login cannot write MySQL's own mysql schema, so dump your application's databases by name rather than --all-databases.
$ mariadb-dump -h db-7k2q9x4m1a.af-abj-2.db.pantechdynamics.com -u dbadmin -p \ --single-transaction --routines --triggers --databases app > app-$(date +%F).sqlRestore with mariadb -h … -u dbadmin -p < app-2026-10-05.sql.
--single-transaction gives a consistent copy of InnoDB tables without locking them. Run dumps on a schedule, from cron on a machine in the same VPC, and test a restore now and then: a backup you have never restored is a guess.
Dumps and snapshots
| A dump | A snapshot | |
|---|---|---|
| What it is | Your data as SQL or the engine's archive format | A copy of the whole data disk at one instant |
| Consistency | Consistent: one transaction's view | Crash-consistent: like after a power cut, unless the database was stopped |
| Where it lives | Wherever you put it | With us, billed per GB-hour until deleted |
| Restore | Today, into any database of the same engine | Not available yet |
| Take one | pg_dump, mysqldump, mariadb-dump | POST /databases/{database_id}/snapshots |
A snapshot is taken while the engine is writing. Restoring it will be like starting the database after a power cut: PostgreSQL, MySQL and MariaDB all recover from that, but anything not yet committed is lost. Stop the database first for a quiesced copy. Either way, it is not a substitute for a dump you can restore anywhere: use both.