PostgreSQL databases
Zonda Cloud can run a managed PostgreSQL database for your apps: it creates it, maintains it, makes backups of it and connects it to your app over the internal network, without exposing it to the internet.
What you get
- PostgreSQL 14, 15, 16 or 17 (16 by default), with a persistent volume: your data survives restarts.
- A database and a user for your app, with a generated password. The user owns its database and is not a superuser.
- Internal network: the database can only be reached from the apps you link, through an internal name. The port is never published.
- Daily and on-demand backups, restore and download.
- Loading a dump of your current database (for example from Cloud SQL), from a file or a URL.
Create and link
In the console, go to Databases → New database: you choose a name, a version and a size. Then, on your app’s page, you link the database and deploy again: the app gets DATABASE_URL and the PG* variables already set, and it only connects over the internal network. The database and the app must belong to the same account.
Backups and restore
One backup is made per day, with retention, and you can request a manual one whenever you want. Restoring is all or nothing: if it fails, the database stays as it was. A safety backup is saved before you restore or load a dump, and when you delete a database a final copy is kept for 7 days.
Bring your current database
You can load a dump in SQL format (plain or compressed) or a pg_dump dump, by uploading the file or giving an https URL. We first check that the version and the extensions are compatible, and the load runs in a single transaction: if something fails, it is not left half done.
Limits worth knowing
- Each database is a single instance, with no replicas, and lives on a single node: if that node goes down, the database is not available until it comes back.
- Backups are stored on the same node: download them if you need a copy elsewhere.
- There is no access from outside the cluster.
- The size is a soft limit: when it fills up, the database becomes read-only instead of filling the disk.
- Each account has a cap on databases and on storage.