SimpleBackupsSimpleBackups

The complete guide to Supabase backup

Supabase ships with built-in backup, but it only covers part of your project. This is the honest, practical guide to backing up your database, Storage, and Edge Functions, written by the team that runs Supabase backups every day.

Native Supabase backup, at a glance

2026

What's covered

  • Postgres database Included
  • Storage buckets Not included
  • Edge Functions Not included

Retention, by plan

  • FreeNo backups
  • Pro$25/mo7 days
  • Team$599/mo14 days
  • Enterprisecustom30 days
  • Point-in-Time RecoveryAdd-on: $100+ /mo

Compliance

SOC 2 Type II GDPR ISO 27001

Your SOC 2, ISO 27001 and GDPR obligations typically require off-site, restorable backups. Native retention alone doesn't close that loop.

What's in this guide

This guide is for developers running Supabase in production, agencies managing multiple Supabase projects, and solo founders who just want their data safe. It covers the database, Storage, Edge Functions, restoration, and the edge cases most people only learn about when something goes wrong.

It does not cover Supabase itself. For product documentation, use the official Supabase docs. What you will find here is the honest, opinionated companion: what the native tools do, where they stop, and what to do about the gap.

How Supabase backup works (native)

Before you can decide what you need, it helps to understand what Supabase already gives you. Pro plans get 7 days of daily backups. Team gets 14. Enterprise gets 30. PITR is a paid add-on. And there's one category of data that isn't backed up at all.

How to back up

Whether you want to script it yourself or automate it, here's how to back up every part of your Supabase project. Each guide shows the manual approach first, then a faster alternative.

How to back up your Supabase Postgres database

Coming soon

Using pg_dump and the Supabase CLI, with a working script you can copy.

How to back up Supabase Storage buckets

Coming soon

Storage isn't in the native backup. Here's a script using the S3-compatible API, plus how to automate it.

How to back up Supabase Edge Functions

Coming soon

Your function code, configs, and secrets, what to version, what to back up, and how.

How to back up Supabase before a migration

Coming soon

The pre-migration checklist, including what to test on the restore side before you touch production.

How to restore

A backup is only as good as your ability to restore from it. These guides cover the restore paths for each backup type, plus what to do when things don't go to plan.

How to restore a Supabase database from a backup

Coming soon

Restoring from Supabase's Dashboard, the CLI, and from a raw pg_dump file.

How to restore Supabase Storage objects

Coming soon

Rehydrating a bucket from an off-site backup.

Recovering a paused or deleted Supabase project

Coming soon

Honest answer: if it's truly deleted, you can't. Here's how to tell, and how to prevent it next time.

Compare your options

"Do I need a backup tool?" depends on your project. Here's how the main options stack up, honestly, including when Supabase's native backup is genuinely enough.

Supabase native backup vs. SimpleBackups

Coming soon

Side-by-side. When native is enough. When it isn't.

pg_dump vs. managed Supabase backup

Coming soon

DIY scripts vs. a managed service. Real costs, real tradeoffs.

When you actually need Supabase PITR

Coming soon

PITR is powerful and paid. Here's when it's worth it and when it isn't.

Best Supabase backup tools in 2026

Coming soon

An honest roundup, including competitors. If another tool fits you better, we'll tell you.

Common problems

The articles people find at 2am when something has gone wrong. If you're here in a panic, start with the one that matches your situation.

"My Supabase data suddenly disappeared"

Coming soon

Diagnostic walkthrough: what to check, what to contact support about, what's recoverable.

"My Supabase backup failed"

Coming soon

Common pg_dump errors and how to fix them.

"My free-tier Supabase project got paused and I lost data"

Coming soon

What actually happens on pause/restore, and why some tables come back empty.

Advanced

For teams with compliance requirements, self-hosted setups, or audit-readiness needs.

Cross-region Supabase backup for compliance

Coming soon

Why region matters, and how to set up replicated off-site backup.

Backing up self-hosted Supabase

Coming soon

Database, Storage, and configs when you run Supabase yourself.

GDPR-compliant Supabase backup

Coming soon

What GDPR actually requires, what it doesn't, and how to document your backup process for an audit.

Automating backup verification

A backup you haven't tested isn't a backup. How to automate integrity checks.

Supabase backup FAQ

Short answers to the questions that should be answerable without a click. These double as FAQ schema markup for SEO.

How often does Supabase back up my database?

Every paid project gets one backup per day, taken as a physical snapshot of the Postgres volume. The Free tier has no daily backups at all. If you need finer granularity than a 24-hour window, that's what Point-in-Time Recovery is for, and it's a paid add-on.

How does Supabase backup relate to SOC 2 and GDPR compliance?

Supabase itself is SOC 2 Type II and ISO 27001 certified, but compliance of the platform does not automatically make your backup strategy compliant. Auditors ask whether you have an off-site copy of customer data, whether restores are tested, and whether the backup location respects data-residency rules. Native same-region snapshots alone usually don't satisfy those requirements, which is why teams under GDPR or SOC 2 scope add an off-site backup they control.

How long does Supabase keep backups?

Retention is tied to your plan: 0 days on Free, 7 days on Pro ($25/mo), 14 days on Team ($599/mo), and 30 days on Enterprise. Once a backup ages out of that window, it's gone. If you need longer retention for audit or legal reasons, you need a separate off-site archive.

Can I use the Supabase CLI to back up and restore my project?

Yes for logical backups and restores. The CLI wraps `pg_dump` and `pg_restore` against your project's connection string, which produces a portable dump file you can keep anywhere. It does not expose the native physical snapshots, and it does not cover Storage objects or Edge Functions, so the CLI path is one piece of a full backup plan rather than the whole thing.

What's the first step if I'm new to Supabase backups?

Open your project on a Pro plan or higher and confirm that daily backups are listed in the dashboard, then note your retention window. After that, the two gaps to close are Storage objects and Edge Functions code and secrets, because neither is in the native snapshot. The rest of this guide walks through how to cover each one.

Is PITR included in the Pro plan?

No. Point-in-Time Recovery is a paid usage-based add-on on Pro and Team, billed on top of the plan price. It's usually included on Enterprise. If you want PITR on a Pro project, you enable it from the project's add-ons page and pay per-day of WAL retention.

What's the difference between logical and physical backups?

A physical backup copies the raw database files or volume block-for-block. Supabase's native daily backup is a physical snapshot of the Postgres volume. A logical backup, produced by `pg_dump`, contains the SQL statements needed to rebuild your schema and data, which makes it portable across Postgres versions and providers but slower to produce on large databases.

Can I restore to a different Supabase project?

Yes, with caveats. Native physical snapshots can be restored onto a new project in the same region through Supabase support or the dashboard restore flow, and a `pg_dump` file can be loaded into any fresh Supabase project using `pg_restore`. Cross-region moves and version differences add friction, so test the restore path before you need it.

Does Supabase backup include auth data?

Yes. The `auth` schema lives in the same Postgres database as your application tables, so it's included in both the native snapshot and any `pg_dump` that covers the full database. What is not included is any secret or OAuth configuration that lives outside Postgres, such as provider client secrets set in the dashboard.

Is Supabase backup encrypted?

Supabase stores native backups on AWS infrastructure with encryption at rest, in the same region as the project. In transit, connections to the database use TLS. If you take your own `pg_dump` backups off the platform, encryption of the resulting file is your responsibility.

How much does PITR cost?

PITR is priced as a usage-based add-on on top of the plan fee. A typical Pro project with seven days of WAL retention lands near the low-hundreds-per-month range, but the exact number depends on database size and retention window. Check the add-ons page inside your project for the current figure before committing. [verify]

What's RPO and RTO for Supabase backups?

With daily snapshots only, your Recovery Point Objective is up to 24 hours of potential data loss, because that's the gap between backups. With PITR enabled, RPO drops to seconds, since Postgres is replaying WAL. Recovery Time Objective depends on database size and whether you're restoring onto the same project or a new one, and Supabase does not publish a committed SLA on restore duration.

Glossary

One-line definitions for the terms used across this guide. Written for humans and for AI search.

PITR (Point-in-Time Recovery)
A recovery method that replays Postgres Write-Ahead Logs to bring the database back to any exact second inside the retention window, rather than only the moment of the last daily snapshot. On Supabase, it's a paid add-on sitting on top of the native daily backup.
WAL (Write-Ahead Log)
The append-only log Postgres writes every change into before applying it to the data files, used for crash recovery and for replicating or replaying changes. PITR works by streaming WAL to a backup location and replaying it up to a chosen point.
Logical backup
A backup that captures the database as SQL statements and data, typically via `pg_dump`. Portable across Postgres versions and providers, which makes it the format you want for off-site archives and cross-project restores.
Physical backup
A backup that copies the raw database files or underlying volume rather than SQL. Supabase's native daily backup is a physical snapshot: fast to take and restore inside the platform, but not downloadable and not portable to other providers.
RPO / RTO
Recovery Point Objective is how much data you're willing to lose, measured in time since the last backup. Recovery Time Objective is how long you're willing to be down during a restore. Every backup strategy is an implicit bet on these two numbers.
S3-compatible storage
Any object storage service that speaks the Amazon S3 API, including AWS S3, Cloudflare R2, Backblaze B2, and Wasabi. Supabase Storage itself is S3-compatible, which is why the same tooling and scripts work for backing it up off-site.

Want to skip the scripting? SimpleBackups handles all of this: Postgres, Storage, Edge Functions, with off-site backup to any provider, scheduled and monitored. See how it works →

Noticed something out of date or missing? This guide is maintained by the SimpleBackups team. Email us at hello@simplebackups.com.