Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions content/docs/get-started/production-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ summary: >-
enableTableOfContents: true
redirectFrom:
- /docs/get-started-with-neon/production-checklist
updatedOn: '2026-08-07T13:46:01.605Z'
updatedOn: '2026-08-24T17:29:27.361Z'
---

<CheckList title="Production checklist">
Expand Down Expand Up @@ -156,15 +156,15 @@ Keep reading:

## Size the history window for instant restore

**[Instant restore](/docs/introduction/branch-restore)** lets you roll a branch back in time. How far back you can go depends on the **history window** you configure (under **Settings → Instant restore**). On paid plans, the default history window is 1 day, which you can increase up to 30 days.
**[Instant restore](/docs/postgres/backup-restore/branch-restore)** lets you roll a branch's database timeline back in time. How far back you can go depends on the **history window** you configure (under **Settings → Instant restore**). On paid plans, the default history window is 1 day, which you can increase up to 30 days.

A longer history window gives you more flexibility to recover from bugs discovered later or accidental data loss. However, longer windows retain more change history, which increases **History** usage on your bill. Choose a window that balances recovery needs with predictable storage costs.

Keep reading: [Storage and billing for instant restore](/docs/introduction/history-window#storage-and-billing)
Keep reading: [Storage and billing for instant restore](/docs/postgres/backup-restore/history-window#storage-and-billing)

## Consider snapshot schedules

Snapshot schedules provide regular, durable restore points taken daily, weekly, or monthly. While **[instant restore](/docs/introduction/branch-restore)** lets you roll back to any moment still inside your **history window**, snapshots capture stable points in time that you can return to later, ensuring that recovery points exist even if they fall outside your chosen history window.
Snapshot schedules provide regular, durable restore points taken daily, weekly, or monthly. While **[instant restore](/docs/postgres/backup-restore/branch-restore)** lets you roll back to any moment still inside your **history window**, snapshots capture stable points in time that you can return to later, ensuring that recovery points exist even if they fall outside your chosen history window.

Snapshot schedules are only available on [root branches](/docs/manage/branches#root-branch).

Expand All @@ -176,7 +176,7 @@ Keep reading: [Snapshot schedules](/docs/guides/backup-restore#create-backup-sch

Don't wait for an incident to learn how restore works. Plan and test your recovery process in advance.

Neon supports multiple restore patterns:
**Database restore** (Postgres + Managed Better Auth) uses Neon's built-in capabilities:

- [Instant branch restores](/docs/guides/backup-restore#instantly-restore-a-branch), where the existing branch is restored to a previous state
- [Restore from a snapshot into the same branch](/docs/guides/backup-restore#one-step-restore)
Expand Down
11 changes: 6 additions & 5 deletions content/docs/guides/backup-restore.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ summary: >-
tag: new
tagTheme: green
enableTableOfContents: true
updatedOn: '2026-08-05T22:15:40.109Z'
updatedOn: '2026-08-24T17:29:27.361Z'
---

<Admonition type="note" title="Snapshots">
Expand Down Expand Up @@ -53,7 +53,7 @@ Instantly restore your branch to a specific time in its history.

<TabItem>

You can restore from any time that falls within your project's [history window](/docs/introduction/history-window).
You can restore from any time that falls within your project's [history window](/docs/postgres/backup-restore/history-window).

1. **Select a time**

Expand Down Expand Up @@ -86,7 +86,7 @@ You can restore from any time that falls within your project's [history window](

![Backup branch on the Branches page](/docs/guides/backup_restore_backup_branch.png)

For information about removing backup branches, see [Deleting backup branches](/docs/introduction/branch-restore#deleting-backup-branches).
For information about removing backup branches, see [Deleting backup branches](/docs/postgres/backup-restore/branch-restore#deleting-backup-branches).

</TabItem>

Expand Down Expand Up @@ -166,7 +166,7 @@ Use the [snapshots create](/docs/cli/snapshots#create) command to snapshot a bra
neon snapshots create --branch main --name pre-migration
```

To capture an earlier point within the branch's [history window](/docs/introduction/history-window), pass `--timestamp` or `--lsn`. The two options are mutually exclusive.
To capture an earlier point within the branch's [history window](/docs/postgres/backup-restore/history-window), pass `--timestamp` or `--lsn`. The two options are mutually exclusive.

```bash
neon snapshots create --branch main --timestamp 2025-07-29T21:00:00Z
Expand Down Expand Up @@ -208,7 +208,7 @@ For all subcommands and flags, see the [snapshots](/docs/cli/snapshots) CLI refe

<TabItem>

You can create a snapshot from a branch using the [Create snapshot](/docs/reference/api/snapshots/create-snapshot) endpoint. A snapshot can be created from a specific timestamp (RFC 3339 format) or LSN (for example 16/B3733C50) within the branch's [history window](/docs/introduction/history-window). The `timestamp` and `lsn` parameters are mutually exclusive; you can use one or the other, not both.
You can create a snapshot from a branch using the [Create snapshot](/docs/reference/api/snapshots/create-snapshot) endpoint. A snapshot can be created from a specific timestamp (RFC 3339 format) or LSN (for example 16/B3733C50) within the branch's [history window](/docs/postgres/backup-restore/history-window). The `timestamp` and `lsn` parameters are mutually exclusive; you can use one or the other, not both.

This endpoint takes its parameters in the query string. It has no request body, and a body you send is ignored without an error.

Expand Down Expand Up @@ -692,5 +692,6 @@ Use this option if you need to inspect the restored data before you switch over

- Instant restore (PITR) is currently not supported on branches created from a snapshot restore. If you restore a snapshot to create a new branch, you cannot perform point-in-time restore on that branch at this time. Attempting to do so will return an error: `restore from snapshot on target branch is still ongoing`.
- **Reset from parent is unavailable on child branches for up to 24 hours after restoring a parent from a snapshot.** When you restore a branch from a snapshot, any child branches of that restored branch cannot use the [Reset from parent](/docs/guides/reset-from-parent) feature for up to 24 hours.
- Logical replication slots and subscriptions are **not inherited** by branches created from or restored to snapshots. You'll need to recreate them after restore.

<NeedHelp/>
16 changes: 8 additions & 8 deletions content/docs/guides/reset-from-parent.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ summary: >-
cannot be reset, and branches with their own children must have those children
deleted first.
enableTableOfContents: true
updatedOn: '2026-08-18T10:29:02.410Z'
updatedOn: '2026-08-24T17:29:27.361Z'
---

Neon's **Reset from parent** feature lets you instantly reset all databases on a branch to the latest schema and data from its parent branch, helping you recover from issues, start on new feature development, or keep the different branches in your environment in sync.
Expand All @@ -29,7 +29,7 @@ When you reset a branch to its parent, the data and schema is completely replace

### Key points

- You can only reset a branch to the latest data from its parent. Point-in-time resets based on timestamp or LSN are possible using [Instant restore](/docs/introduction/branch-restore), a similar feature, with some differences: instant restore leaves a backup branch and is in general is intended more for data recovery than development workflow.
- You can only reset a branch to the latest data from its parent. Point-in-time resets based on timestamp or LSN are possible using [Instant restore](/docs/postgres/backup-restore/branch-restore), a similar feature, with some differences: instant restore leaves a backup branch and is in general is intended more for data recovery than development workflow.
- This reset is a complete overwrite, not a refresh or a merge. Any local changes made to the child branch are lost during this reset.
- Existing connections will be temporarily interrupted during the reset. However, your connection details _do not change_. All connections are re-established as soon as the reset is done.
- Root branches (like your project's `production` branch or schema-only branches) cannot be reset because they have no parent branch to reset to.
Expand Down Expand Up @@ -110,7 +110,7 @@ curl --request POST \
'
```

For details, see [Instant restore using the API](/docs/introduction/branch-restore#how-to-use-instant-restore)
For details, see [Instant restore using the API](/docs/postgres/backup-restore/branch-restore#how-to-use-instant-restore)

</TabItem>

Expand All @@ -122,24 +122,24 @@ You can include resetting database branches as part of your CI/CD workflow. For

### For new features

Start feature development with a clean slate by resetting your development branch to align with staging or production (whichever is its parent). This replaces the branch's current state with the parent's latest data and schema. Use the command:
Start feature development with a clean slate by resetting your development branch to align with staging or production (whichever is its parent). This replaces the branch's current Postgres database and Managed Better Auth state with the parent's latest data and schema. Use the command:

```bash
neon branches reset dev-branch --parent
```

This strategy preserves a stable connection string for your development environment, while still ensuring every new feature begins with a fully updated and consistent environment.
This strategy preserves a stable connection string for your development environment, while still ensuring every new feature begins with a Postgres-consistent baseline that includes your database and Managed Better Auth state.

### Refresh staging

Reset **staging** to match its parent branch (i.e., **production**) for a reliable testing baseline. Automate staging updates with:
Reset **staging** to match its parent branch (i.e., **production**) for a reliable Postgres database testing baseline. Automate staging updates with:

```bash
neon branches reset staging --parent
```

This ensures staging accurately reflects the current production state for reliable testing.
This ensures staging accurately reflects the current production database state for reliable testing.

## Limitations

- **Reset from parent is unavailable for up to 24 hours after a parent is restored from a snapshot.** If a parent branch is restored from a snapshot, its child branches cannot be reset from that parent for up to 24 hours. If you need to update a child branch during this period, consider using [Instant restore](/docs/introduction/branch-restore) to restore the child branch from the parent directly.
- **Reset from parent is unavailable for up to 24 hours after a parent is restored from a snapshot.** If a parent branch is restored from a snapshot, its child branches cannot be reset from that parent for up to 24 hours. If you need to update a child branch during this period, consider using [Instant restore](/docs/postgres/backup-restore/branch-restore) to restore the child branch from the parent directly.
49 changes: 20 additions & 29 deletions content/docs/navigation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,26 @@
slug: workflows/data-anonymization-api
- title: GitHub Actions
slug: workflows/data-anonymization-github-actions
- section: Backup & restore
icon: report
items:
- title: Backup strategies
slug: postgres/backup-restore/backups
- title: Instant restore
slug: postgres/backup-restore/branch-restore
- title: Time Travel
slug: postgres/backup-restore/time-travel-assist
- title: History window
slug: postgres/backup-restore/history-window
- title: Backup with pg_dump
slug: manage/backup-pg-dump
- title: Automate pg_dump backups
slug: manage/backup-pg-dump-automate
items:
- title: Part 1 - Create an S3 bucket
slug: manage/backups-aws-s3-backup-part-1
- title: Part 2 - Automate nightly backups
slug: manage/backups-aws-s3-backup-part-2
- title: Postgres guides
slug: postgresql/introduction
icon: book
Expand Down Expand Up @@ -971,26 +991,6 @@
items:
- title: Production checklist
slug: get-started/production-checklist
- title: Backup & restore
slug: manage/backups
items:
- title: Backup & restore
slug: guides/backup-restore
- title: History window
slug: introduction/history-window
- title: Instant restore
slug: introduction/branch-restore
- title: Overview
slug: manage/backups
- title: Backup with pg_dump
slug: manage/backup-pg-dump
- title: Automate pg_dump backups
slug: manage/backup-pg-dump-automate
items:
- title: Part 1 - Create an S3 bucket
slug: manage/backups-aws-s3-backup-part-1
- title: Part 2 - Automate nightly backups
slug: manage/backups-aws-s3-backup-part-2
- title: Updates
slug: manage/updates
items:
Expand Down Expand Up @@ -1034,15 +1034,6 @@
items:
- title: Backup & restore
slug: guides/backup-restore
- title: History window
slug: introduction/history-window
- title: Instant restore
slug: introduction/branch-restore
- title: Time Travel
slug: guides/time-travel-assist
items:
- title: Time Travel tutorial
slug: guides/time-travel-tutorial
- title: Schema diff
slug: guides/schema-diff
items:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ summary: >-
tooling; choose `pg_dump` workflows for business continuity, disaster
recovery, or compliance. Each strategy links to a dedicated setup guide.
enableTableOfContents: true
updatedOn: '2026-07-31T15:27:48.506Z'
redirectFrom:
- /docs/manage/backups
updatedOn: '2026-08-24T17:33:16.332Z'
---

<InfoBlock>
Expand All @@ -19,7 +21,7 @@ updatedOn: '2026-07-31T15:27:48.506Z'
</DocsList>

<DocsList title="Related resources" theme="docs">
<a href="/docs/introduction/branch-restore">Instant restore</a>
<a href="/docs/postgres/backup-restore/branch-restore">Instant restore</a>
</DocsList>

</InfoBlock>
Expand All @@ -30,13 +32,13 @@ Neon supports different backup strategies, which you can use separately or in co

## Instant restore

With Neon's instant restore capability, also known as point-in-time restore or PITR, you can automatically retain a "history" of changes, ranging from 1 day up to 30 days, depending on your Neon plan. This feature lets you restore your database to any specific moment without the need for traditional database backups or separate backup automation. It's ideal if your primary concern is fast recovery after an unexpected event.
With Neon's instant restore capability, also known as point-in-time restore or PITR, you can automatically retain a "history" of changes, ranging from 1 day up to 30 days, depending on your Neon plan. This feature lets you restore your Postgres database and Managed Better Auth data to any specific moment without the need for traditional database backups or separate backup automation. It's ideal if your primary concern is fast recovery after an unexpected event.

With this strategy, the only required action is setting your desired [history window](/docs/introduction/history-window). Please keep in mind that increasing your history window also increases storage, as changes to your data are retained for a longer period.
With this strategy, the only required action is setting your desired [history window](/docs/postgres/backup-restore/history-window). Please keep in mind that increasing your history window also increases storage, as changes to your data are retained for a longer period.

![History window](/docs/manage/history_retention.png)

To get started, see [Instant restore](/docs/introduction/branch-restore).
To get started, see [Instant restore](/docs/postgres/backup-restore/branch-restore).

## Backups with `pg_dump`

Expand Down
Loading
Loading