Postgres supports point-in-time recovery, but most managed offerings make you restore from a backup, which takes time and produces a new instance. Lakebase Postgres instant restore rolls a root branch back to a point in time in place, in seconds, without a separate restore job.

How instant restore works

Lakebase Postgres retains a log of changes to your data over a configurable history window. To recover from a bad DELETE or UPDATE, you pick a timestamp or LSN from before the incident and restore the root branch to that point. The database is back to its previous state in seconds. Instant restore applies to root branches only; child branches don't support it. See Instant restore.

History window by plan (History window):

  • Free plan: 6 hours (capped at 1 GB of change history, no History charge)
  • Launch plan: configurable up to 7 days
  • Scale plan: configurable up to 30 days

On Launch and Scale, History is billed at $0.20/GB-month on root branches only.

Restore a branch

From the CLI, restore a root branch to its own history. When restoring to self, you must preserve the pre-restore state under a backup name:

neon branches restore main ^self@2026-04-24T14:30:00Z --preserve-under-name main_old

You can also create a new branch from the past, inspect it, then promote it. This is the safer pattern when you're not sure about the timestamp:

neon branches create --name recovery --parent 2026-04-24T14:30:00Z

Connect to the new branch, verify the data is what you expect, then either copy rows back to main or restore the root branch from that point. See Instant restore.

Protect production from accidents

On Launch and Scale, you can mark a branch as protected. Protected branches can't be deleted or reset, and projects that still have a protected branch can't be deleted.

warning

Storage for the history window grows with your write volume. A longer window gives you more recovery range but raises History usage on paid plans. Pick the shortest window that covers your typical incident detection time.

How other providers handle recovery

ProviderRecovery modelRetentionResult of a restore
NeonInstant restore in place to any LSN/timestamp on a root branch6 hours (Free plan), up to 7 days (Launch plan), up to 30 days (Scale plan)Same branch, rewound in seconds
AWS RDS / AuroraPoint-in-time restore from automated backups0-35 days (you set retention)A new database instance you cut over to
SupabaseDaily backups; PITR as paid add-onPro: 7 daily backups; PITR add-on starts at 7 days for ~$100/monthSame project, inaccessible during the restore

Both AWS and Supabase support point-in-time recovery, but the operational shape differs: AWS PITR provisions a new instance, and a Supabase restore takes the project offline during the operation. Lakebase Postgres instant restore rewinds the existing root branch in seconds, so connection strings stay the same.

Try instant restore on Neon

Free plan includes a 6-hour history window for recovery.