This topic answers frequently asked questions about backup and recovery in PolarDB for PostgreSQL.
Backup FAQ
Is the total size of level-1 backups the sum of all individual snapshots?
No. The total size refers to the physical footprint of all snapshots combined (① in the figure below), not the sum of all individual backups (②).

Why can the total size of level-1 backups be smaller than a single backup?
PolarDB tracks two capacity metrics for level-1 backups: the logical size of each individual backup and the total physical size of all backups combined.
PolarDB uses a snapshot chain for level-1 backups — identical data blocks are stored only once across all snapshots. This deduplication means the total physical size is smaller than the total logical size, and in some cases smaller than the logical size of a single backup.
What are the storage fees for PolarDB backups?
Storage fees apply to level-1 backups, level-2 backups, and log backups.
Level-1 backups and log backups are enabled by default and include a free quota. Level-2 backups are disabled by default.
How is the hourly price for level-1 backups calculated?
Use this formula:
Hourly price = [Total size of level-1 backups − (Database storage usage × 50%)] × Hourly price per GBThe free quota equals 50% of your database storage usage. Backup storage within this quota is not billed.
[700 GB - 500 GB] × USD 0.000464 = USD 0.0928Example scenarios (Chinese mainland, USD 0.000464/GB/hour):
| Level-1 backup total | Database storage | Free quota (50%) | Billable size | Hourly cost |
|---|---|---|---|---|
| 700 GB | 1,000 GB | 500 GB | 200 GB | USD 0.0928 |
| 400 GB | 1,000 GB | 500 GB | 0 GB | USD 0 (fully within quota) |
| 1,200 GB | 1,000 GB | 500 GB | 700 GB | USD 0.3248 |
Do manual backups support only level-1 backups?
Yes. Manual backups create level-1 backups only.
What is the retention period for manual backups?
The retention period for manual backups is set by the Level-1 Backup duration in the Data Backup Retention section of your backup policy.

How do I view the size of level-2 backups?
Open the Backups tab in the console to see the current size of your level-2 backups.
Recovery FAQ
How do I recover data after accidental deletions or incorrect modifications?
Choose a recovery method based on your situation:
Point-in-time restore (PITR) — recover data to a specific moment in time. Use this when you know when the problem occurred (for example, an accidental table drop or incorrect data modification).
Restore from a backup set (snapshot) — restore from a specific full backup. Use this when you want to return to a known good state rather than a specific point in time.
For step-by-step instructions, see Full restoration method 1: Point-in-time restore. To restore from a specific snapshot instead, see Full restoration method 2: Restore from a backup set (snapshot).
Can I specify a custom name for the recovered table?
Yes. When recovering a table, you can assign it a custom name.
Can I perform a point-in-time restore without a data backup?
No. Point-in-time restore (PITR) requires at least one full data backup.
PITR works in two phases: first, PolarDB restores the most recent full backup created before your target point in time; then, it replays physical logs to bring the data forward to that exact moment.
Example: If full backups run nightly at 11:00 PM and you want to restore to 10:00 AM on August 15, PolarDB restores the August 14 backup and replays physical logs from August 14 at 11:00 PM through August 15 at 10:00 AM. Without a full backup, there is no baseline to replay logs against.