Connecting a database
Requirements for connecting a database to backupd, the Add database dialog, and how to edit, pause or remove a database.
backupd connects to your database from the internet, runs the engine's own dump tool, and never writes to your database during a backup.
Requirements
These apply to every engine:
- Reachable from the internet. The host must resolve to a public address. backupd refuses private, loopback and link-local addresses. Private networks, VPC peering, SSH tunnels and agents are not supported yet.
- TLS. Every connection uses TLS. A connection string that turns TLS off is rejected, and modes that would fall back to plain text are upgraded to require TLS.
- Allow backupd through your firewall. If your provider has an allow list (for example network access rules on a managed database), add backupd's addresses. See Firewall allow list.
- A database user for backupd. A read-only user is enough to back up. Restoring from the app needs a user that can write to the target.
Supported versions:
| Engine | Versions | Connection |
|---|---|---|
| PostgreSQL | 9.2 to 18 | postgresql:// or postgres:// connection string |
| MySQL and MariaDB | MySQL 5.7+, MariaDB 10.3+ | mysql:// connection string, one database each |
| MongoDB | 4.2+ | mongodb:// or mongodb+srv:// connection string |
| Convex | Convex Cloud and self-hosted | Deployment URL and deploy key, or backend URL and admin key |
Firewall allow list
backupd connects from a fixed set of public addresses, for backups, restores and monitoring. If your database only accepts listed addresses, allow all of them. You'll find the list:
- In Add database, under the connection string, and on each database's Settings tab.
- At api.backupd.dev/egress-ips, as JSON for scripts and Terraform:
{ "hostname": "egress.backupd.dev", "ipv4": ["…"], "ipv6": ["…"] }- In DNS:
dig +short egress.backupd.dev AandAAAA.
The list rarely changes. New addresses are announced to workspace owners by email before backupd starts using them, and old ones keep working until the change is done.
Add a database
Only owners and admins can add databases. Go to Databases and click Add database.
| Field | What to enter |
|---|---|
| Engine | PostgreSQL, MySQL, MongoDB or Convex. |
| Name | A name for this database in backupd, at least 2 characters. It is used in file names and alerts. |
| Connection string | The full connection string, including user and password. For Convex, see Convex. |
| Schedule | How often to back up. See Schedules and retention. |
| Keep backups for | 7 days, 30 days, 90 days or 1 year, up to your plan's limit. |
Click Connect database. backupd checks that the connection string is valid for the engine, encrypts it and stores it. Only the host is shown in the app afterwards.
The schedule runs in your timezone at the time you add the database. The first scheduled backup runs on the next slot of the schedule. Click Backup now to run one straight away and confirm the connection works.
Your plan limits how many databases you can connect: 5 on Starter and 20 on Pro. A workspace without a plan can't add databases.
The database page
Open a database from Databases to see its tabs:
- Overview: last backup, next run, size trend.
- Backups: every backup of this database, with its status and restore test result.
- Monitoring: uptime and connection latency. See Uptime monitoring.
- Explore: the tables or collections in the latest backup, with their row or document counts.
- Settings: name, schedule, retention, and the database's identifiers (Database ID, Workspace, Host) for use with the API, MCP or support.
Pause, resume or remove a database
From the ⋯ menu next to a database on the Databases page:
- Pause backups stops scheduled backups until you choose Resume backups. Existing backups stay.
- Remove database stops scheduled backups and deletes the database and all of its backups from backupd. Copies already in your own buckets are left untouched. This can't be undone.
Change the connection string
The connection string can't be edited after you save it. To change credentials or the host, add the database again with the new connection string, then remove the old one once the new one has a good backup. Removing a database deletes its backups, so download any you want to keep first.