"How to Backup Supabase Database pg_dump Free Guide"
How to backup Supabase database pg_dump free: connection strings, the roles/schema/data split, PITR on paid tiers, and a GitHub Actions cron for free plans.
Last updated: October 3, 2026 Here's the uncomfortable truth: the Supabase free plan includes zero database backups . If you delete a table on the free tier, it's gone — unless you set up your own. This guide shows how to backup Supabase database pg_dump free : the exact connection string to use, the roles/schema/data split that makes restores actually work, what Point-in-Time Recovery (PITR) gives you on paid plans, and a GitHub Actions cron that backs up your database nightly for free. What you'll learn What Supabase backs up natively on each plan (and what the free plan doesn't) How to backup a Supabase database free with pg_dump — the exact commands The roles → schema → data restore order that avoids permission errors Point-in-Time Recovery: what it is, what it costs, how to enable it Restoring a backup into a new Supabase project A free nightly-backup GitHub Actions workflow What Supabase backups don't include (Storage files!) What Supabase Backs Up Natively (Per Plan) Supabase takes daily physical backups of your Postgres database and stores them in S3 in the same region as your project. Retention depends on your plan: Plan Daily backups Retention PITR Free None — No Pro Yes 7 days Paid add-on Team Yes 14 days Paid add-on Enterprise Yes 30 days Included options Two things these native backups do not include: your Storage files (bucket objects are not part of database backups — back those up separately) and anything outside the database. PITR (Point-in-Time Recovery) is a separate paid add-on on Pro/Team that uses WAL archiving to let you restore to any second within the retention window, rather than just the last daily snapshot. If you're on the free plan — which most side projects and early MVPs are — none of this applies to you.…