feat(studio): rename Replication to Pipelines (#50637)

## What kind of change does this PR introduce?

Feature and docs update.

## What is the current behavior?

The Dashboard lists Pipelines destinations under Database > Replication.
Read replicas have moved to Infrastructure, but the temporary notices
remain on the destinations page and new destination sheet.

Closes PIPE-1021.

## What is the new behavior?

The canonical Dashboard routes are Database > Pipelines, while legacy
Replication list and detail URLs permanently redirect to the equivalent
Pipelines routes. Navigation, command palette, shortcuts, pipeline
links, docs, and current marketing copy use Pipelines. Read-replica
notices and their obsolete dismissal state are removed.

| Before | After |
| --- | --- |
| <img width="1024" height="759" alt="Replication Database Agua Basket
Supabase"
src="https://github.com/user-attachments/assets/53f9f565-1ed1-43e9-a7d9-b66b2a47e948"
/> | <img width="1024" height="759" alt="2540"
src="https://github.com/user-attachments/assets/14ab2d61-d01c-483f-9d4f-0ac286dae159"
/> |

The Management API, pipeline behaviour, replication logs, and Postgres
replication terminology remain unchanged.

## To test

- Open `/project/<ref>/database/pipelines` and confirm the Database
navigation, page header, and pipeline breadcrumb say Pipelines.
- Open
`/project/<ref>/database/replication?source=bookmark#destinations` and a
legacy pipeline detail URL. Confirm each redirects to the matching
Pipelines URL while preserving parameters and fragments.
- From the Pipelines page, open Add destination. Confirm no read-replica
migration notice appears.
- Open the Pipelines guide and confirm its Dashboard steps lead to
Database > Pipelines.

## Before merge

- [ ] Get changelog entry reviewed
https://github.com/supabase/changelog/pull/262 and prepare to merge
simultaneously

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added dedicated **Database > Pipelines** pages for pipeline lists and
details.
- Added permanent redirects from legacy Replication URLs to their
corresponding Pipelines pages.
- Read replica management links now open **Settings > Infrastructure**.

- **Documentation**
- Updated Pipelines setup, monitoring, troubleshooting, and usage
guidance to reference the current dashboard locations.
  - Updated Realtime guidance to use **Database > Publications**.

- **Updates**
- Renamed dashboard navigation, breadcrumbs, commands, and keyboard
shortcuts from **Replication** to **Pipelines**.
  - Removed the “Read replicas have moved” notification.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
This commit is contained in:
Danny WhiteandJoshen Lim authored and GitHub committed 2026-09-23 08:52:07 +10:00
1 parent ef0f7f2b3d
commit 05a45dd1ed
37 files changed
+187 -385

No files matched your search

@@ -10,7 +10,7 @@ sidebar_label: 'FAQ'
## Which plans support Pipelines?
Pipelines requires a Pro, Team, or Enterprise plan. During public alpha, availability varies by organization; an eligible plan does not guarantee access. If unavailable, request access from **Database > Replication** or contact your account manager.
Pipelines requires a Pro, Team, or Enterprise plan. During public alpha, availability varies by organization; an eligible plan does not guarantee access. If unavailable, request access from **Database > Pipelines** or contact your account manager.
## What destinations are supported?
@@ -12,7 +12,7 @@ Use the Dashboard to check [replication progress](#viewing-detailed-pipeline-met
## Viewing pipeline status
Open [**Database > Replication**](/dashboard/project/_/database/replication) to see each destination's pipeline status.
Open [**Database > Pipelines**](/dashboard/project/_/database/pipelines) to see each destination's pipeline status.
### Pipeline states
@@ -163,7 +163,7 @@ When you restart table replication:
The pipeline stops temporarily to apply the table restart. The Dashboard restarts it automatically, or starts it if it was stopped. Replication for other tables is paused during this process, and their unfinished initial syncs can restart from scratch.
Before restarting, use **Edit pipeline** to check the **Initial sync** selection. Include any affected tables whose existing source rows you need to copy again, then apply your changes. Open the pipeline from the list on **Database > Replication**.
Before restarting, use **Edit pipeline** to check the **Initial sync** selection. Include any affected tables whose existing source rows you need to copy again, then apply your changes. Open the pipeline from the list on **Database > Pipelines**.
### Restart a single table
@@ -47,7 +47,7 @@ Pipelines installs an `etl` schema and a database event trigger to track replica
</Admonition>
1. Navigate to the [**Database > Replication**](/dashboard/project/_/database/replication) section of the Dashboard
1. Navigate to the [**Database > Pipelines**](/dashboard/project/_/database/pipelines) section of the Dashboard
2. Click **Add pipeline** to show the replication side panel
3. Select a destination available to your organization
4. If Pipelines is not yet enabled, click **Enable Pipelines**, review the dialog, and confirm **Enable Pipelines**.
@@ -175,7 +175,7 @@ If the main replication slot is lost and **Recreate slot** is enabled, startup r
### Disabling Pipelines
Delete all pipelines first. Then open the three-dot actions menu on the Replication page and click **Disable Pipelines**.
Delete all pipelines first. Then open the three-dot actions menu on the Pipelines page and click **Disable Pipelines**.
For cleanup details, see [What happens when you disable Pipelines?](/docs/guides/database/replication/pipelines-faq#what-happens-when-you-disable-pipelines).
@@ -84,7 +84,7 @@ Pipeline hours are billed in arrears. Deleting the pipeline after 24 hours ends
- Include only the tables and columns that you need at the destination.
- Keep high-churn tables out of the publication when their changes are not needed for analytics.
- If you no longer require replication, delete the pipeline through your [project's replication settings](/dashboard/project/_/database/replication) to stop pipeline-hour charges.
- If you no longer require replication, delete the pipeline through your [project's Pipelines settings](/dashboard/project/_/database/pipelines) to stop pipeline-hour charges.
## How data processed is measured
@@ -27,7 +27,7 @@ If the table's missing from the results:
alter publication supabase_realtime add table your_table;
```
Or toggle it on from **Database → Replication** in the dashboard.
Or toggle it on from **Database → Publications** in the dashboard.
This gets overlooked on a table created recently — creating the table and enabling Realtime on it are two separate steps:
@@ -203,7 +203,7 @@ channel.subscribe(async (status) => {
Sometimes the answer is straightforward. Check:
- **Project Settings → Realtime** — enabled at the project level?
- **Database → Replication** — toggle on for this specific table?
- **Database → Publications** — toggle on for this specific table?
Check this again after a project's been paused and restarted — the replication slot can need to reconnect. If the project's under heavier load than usual, also check the Realtime "Concurrent Peak Connections" quota — hitting that limit can look a lot like a broken subscription.