Backups vs. replication: what's the difference?
Read replicas, point-in-time recovery, and backups all sound similar. They solve very different problems — and you need all three for real protection.

Three Tools That Sound the Same but Aren't
Many developers confuse backups, replication, and point-in-time recovery (PITR). They all involve copying data, but they serve completely different purposes in a disaster recovery strategy.
- 1
Backups
A frozen point-in-time snapshot stored somewhere else. Recovers you from data loss.
- 2
Replication
A live copy that is always in sync — including destructive changes. Gives you availability.
- 3
Point-in-time recovery
A continuous transaction log inside your vendor. Gives you second-level granularity.
What Each One Does
Backups
A backup is a frozen snapshot of your data at a specific point in time, stored separately from production. It doesn't change after it's created. It's your last line of defense when everything else fails.
- Best for: accidental deletions, ransomware recovery, data corruption, disaster recovery
- Limitation: you lose all data written after the last backup
Replication (Read Replicas)
Replication creates a live, continuously synced copy of your database. Supabase offers read replicas that mirror your primary database in real-time. But a replica is not a backup.
- Best for: read scaling, high availability, reducing latency
- Limitation: if someone runs
DROP TABLE userson the primary, the replica executes it too. Replication copies changes — including destructive ones.
Point-in-Time Recovery (PITR)
PITR uses Write-Ahead Logging (WAL) to record every transaction. You can restore to any specific second within the retention window. Supabase offers PITR as a paid add-on.
- Best for: recovering from a bad migration, accidental
DELETE, or rolling back to a specific moment - Limitation: still lives in the same vendor's infrastructure. If Supabase has a regional outage, PITR goes down too.
Comparison at a Glance
| Feature | Backups | Replication | PITR |
|---|---|---|---|
| Purpose | Data loss recovery | High availability | Granular recovery |
| Storage location | Off-site (your control) | Same vendor/region | Same vendor/region |
| Protects against DELETE/DROP | Yes | No (replicates it) | Yes |
| Protects against ransomware | Yes (if off-site) | No | No |
| Protects against vendor outage | Yes (if off-site) | No | No |
| Recovery granularity | Last backup point | Real-time (same data) | Any second |
| Cost | Low | High (extra compute) | Medium ($100-400/mo) |
| Compliance evidence | Yes | No | No |
Why Replication Is Not a Backup
This is the most common misconception. A read replica mirrors your primary database in real-time. That means:
Primary DB: [users: 10,000 rows] ──→ Replica: [users: 10,000 rows]
│
DROP TABLE users
▼
Primary DB: [users: 0 rows] ──→ Replica: [users: 0 rows]The replica doesn't protect you from destructive operations. It faithfully reproduces them. If your primary loses data, your replica loses the same data — usually within milliseconds.
A backup, on the other hand, is a point-in-time snapshot that doesn't change. Even if production is wiped, the backup retains the data as it was when captured.
Source: [PostgreSQL Docs — High Availability](https://www.postgresql.org/docs/current/high-availability.html), [Cohesity — 3-2-1 Backup Rule](https://www.cohesity.com/glossary/321-backup-rule/)
Supabase PITR Pricing
Supabase offers PITR as a paid add-on with the following pricing:
- 7-day retention
- ~$100/mo
- 14-day retention
- ~$200/mo
- 28-day retention
- ~$400/mo
PITR is powerful for granular recovery, but it's still same-vendor, same-region. It doesn't satisfy the off-site requirement of the 3-2-1 rule.
Source: [Supabase Docs — Database Backups](https://supabase.com/docs/guides/platform/backups)
The Complete Strategy: All Three Together
- 1
Read replica
Keeps the app available and spreads read load during partial failures.
- 2
PITR
Rolls the database back to any second inside the retention window.
- 3
Off-site backup (Supakeep)
Your own Google Drive copy — survives vendor outages, ransomware, and audits.
- 1Replication keeps your app available during partial failures
- 2PITR lets you recover to any second within the retention window
- 3Off-site backup (Supakeep) protects against vendor-level failures, ransomware, and provides compliance evidence
You need all three. Replication without backups is dangerous. PITR without off-site backup is incomplete. Backups without replication means downtime during recovery.
Source: [Veeam — 3-2-1 Backup Rule](https://www.veeam.com/blog/321-backup-rule.html), [US Chamber — 3-2-1 Rule](https://www.uschamber.com/co/run/technology/3-2-1-backup-rule)
Related reading: why every Supabase project needs its own backups and Supabase backup best practices for small teams.
Frequently asked questions
No. A read replica mirrors your primary database in real-time, including destructive operations. If someone drops a table on the primary, the replica drops it too. A backup is a frozen snapshot that doesn't change.
PITR is a recovery tool, not a backup in the compliance sense. It lives in Supabase's infrastructure and doesn't satisfy the off-site requirement of the 3-2-1 rule. You still need an off-site backup like Supakeep.
A snapshot is a point-in-time copy, often stored in the same system. A backup is a copy stored separately from the source system, ideally off-site. Snapshots are fast but vulnerable to the same failures as the primary system.
For production apps: yes. Replication for availability, PITR for granular recovery, and off-site backup for disaster recovery and compliance. For side projects: an off-site backup alone is sufficient.
Supabase PITR costs approximately $100/month for 7-day retention, $200/month for 14-day, and $400/month for 28-day. This is in addition to your base plan cost.
No. Supakeep and PITR serve different purposes. PITR gives you second-level granularity within Supabase. Supakeep gives you an off-site copy in your own Google Drive. They're complementary, not replacements.
Sources & further reading
- 1High AvailabilityPostgreSQL Docspostgresql.org
- 2Database BackupsSupabase Docssupabase.com
- 33-2-1 Backup Rule ExplainedVeeamveeam.com
- 43-2-1 Backup Rule for Cloud DataUS Chamber of Commerceuschamber.com
- 5What Is the 3-2-1 Backup Rule?Cohesitycohesity.com
- 6What is the 3-2-1 Backup Strategy?Acronisacronis.com