Database backups and restores

Last updated 30 Aug 2026
View as Markdown

Overview

Managed database clusters keep full backups of the cluster data so you can recover from data loss or roll back a bad change. Backups are taken on demand from the cluster detail page and streamed off the node to object storage, so they do not consume disk space on the database VM itself.

This article covers listing the backups that exist for a cluster, triggering a new one, and what restore support looks like today. Managed Databases is a beta feature, so the backup surface is still limited to the operations described below.

Before you start

  • Your account must have a verified organization. Backup calls are authorised against the organization that owns the cluster, not a project.
  • You need the databases:read permission to view backups and databases:update to trigger one.
  • The cluster must already exist and be reachable — see PostgreSQL clusters if you have not created one yet.
  • Backups count against your per-cluster backup quota and your DBaaS storage quota. Check both before starting a large backup.

Steps

  1. In the sidebar, open Databases.
  2. Select the cluster you want to back up to open its detail page.
  3. Open the Backups tab. The Backups panel lists the backups currently held for this cluster.
  4. Select Trigger Backup to start a new full backup of the cluster.
  5. Use Refresh to update the list while the backup runs — the entry appears in the Backups panel once the node reports it.

Restoring from a backup

Restore is not yet a self-service action in the console: the cluster detail page exposes Trigger Backup only, and there is no public restore endpoint in this beta. For PostgreSQL, backups are taken with streaming WAL and restore is supported for the Standard (single-node) topology only.

To restore a cluster from one of its backups, open a ticket from Support Tickets and include the cluster ID and the backup you want restored, taken from the Backups tab.

API

Both backup operations are available on the public API. Replace <cluster_id> with the cluster's ID from its detail page URL.

List the backups held for a cluster (requires databases:read):

curl https://app.cloudpe.com/api/v1/databases/<cluster_id>/backups \
  -H "Authorization: Bearer <API_KEY>"

Trigger a new backup (requires databases:update):

curl -X POST https://app.cloudpe.com/api/v1/databases/<cluster_id>/backups \
  -H "Authorization: Bearer <API_KEY>"
Method Path
GET /api/v1/databases/{cluster_id}/backups
POST /api/v1/databases/{cluster_id}/backups

Limits & billing

  • Each cluster retains up to 10 backups by default. Trigger a new backup only when you have room, or remove older ones first.
  • DBaaS storage is capped by your organization quota of 500 GiB by default.
  • Cluster charges are calculated by the platform pricing engine from the plan assigned to the cluster and any extra storage on it; the console shows the quote for your organization and region on the cluster's plan selection. Never estimate the figure yourself — if a price has not loaded, the console shows a dash rather than a guess.

Troubleshooting

Message Cause Fix
Cluster not found The cluster ID in the URL or API path does not exist, or it belongs to an organization you are not a member of. Re-open the cluster from Databases and copy the ID from the detail page URL.
User has no organization The signed-in user is not attached to an organization, so the request cannot be scoped. Join or create an organization, then retry.
DBaaS is not enabled for this region The region hosting the request does not offer managed databases. Use a region where Managed Databases is available.

FAQ

Do backups interrupt the database? Backups stream from the node to object storage without writing temporary files to the data disk, so normal traffic continues. Expect some additional I/O load on the node while the backup runs.

Can I run two backups at once on the same cluster? No. A node processes one backup at a time; trigger the next one after the current backup finishes.

Why does the list not update immediately? The backup is registered once the node reports it. Use Refresh on the Backups tab to re-read the list.

Which permission do my team members need to take a backup? databases:update. Read-only members with databases:read can see the list but cannot use Trigger Backup.

Related

Did this guide answer your question?If you need customized assistance with your deployment, reach out to our team.
Contact Support