-
Notifications
You must be signed in to change notification settings - Fork 471
Restructure Managed Postgres sidebar and add migration overview #6279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
deeox
wants to merge
8
commits into
main
Choose a base branch
from
restructure-managed-postgres-sidebar
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
cf99f4b
Restructure Managed Postgres sidebar and add migration overview
deeox 3fb9527
Move pg_clickhouse docs into Managed Postgres section
deeox 7faf1d8
Point PR template redirect checklist at vercel.json
deeox 2a49607
Add link to pg_clickhouse introduction in sidebar
deeox 782d35e
Fix heading capitalization in pg_clickhouse docs
deeox 6180f82
Address pg_clickhouse author review on heading edits
deeox e4a5a0c
Address pg_clickhouse author review on heading edits
deeox a824d31
Fix duplicate-word typos in pg_clickhouse docs
deeox File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| --- | ||
| slug: /cloud/managed-postgres/migrations/overview | ||
| sidebar_label: 'Overview' | ||
| title: 'Managed Postgres data migration' | ||
| description: 'Compare the four migration paths into ClickHouse Managed Postgres and pick the one that fits your source database and downtime requirements.' | ||
| keywords: ['managed postgres', 'migration', 'postgres migration', 'clickpipes', 'peerdb', 'pg_dump', 'pg_restore', 'logical replication'] | ||
| doc_type: 'guide' | ||
| --- | ||
|
|
||
| import BetaBadge from '@theme/badges/BetaBadge'; | ||
|
|
||
| # Managed Postgres data migration | ||
|
|
||
| <BetaBadge link="https://clickhouse.com/cloud/postgres" galaxyTrack={true} galaxyEvent="docs.managed-postgres.migration-overview-beta" /> | ||
|
|
||
| You can migrate to Managed Postgres through four different paths. Which one | ||
| fits depends on whether you need ongoing replication, what source you're | ||
| migrating from, and how much downtime your application can tolerate during | ||
| cutover. | ||
|
|
||
| | Method | Ongoing replication (CDC) | Where it runs | Best for | | ||
| | ------------------------------------------------------------------------------------- | ------------------------- | -------------------------- | ------------------------------------------------------------------------- | | ||
| | [ClickPipes](/cloud/managed-postgres/migrations/clickpipes) | Yes | ClickHouse Cloud console | Most migrations — guided wizard with initial load and CDC out of the box | | ||
| | [PeerDB](/cloud/managed-postgres/migrations/peerdb) | Yes | Self-hosted (Docker) | Sources or workflows not covered by the ClickPipes UI | | ||
| | [pg_dump and pg_restore](/cloud/managed-postgres/migrations/pg_dump-pg_restore) | No | Your local machine | One-time moves of small or static datasets where downtime is acceptable | | ||
| | [Logical replication](/cloud/managed-postgres/migrations/logical-replication) | Yes | Source and target Postgres | Direct control over native Postgres replication, no third-party tooling | | ||
|
|
||
| ## ClickPipes {#clickpipes} | ||
|
|
||
| [ClickPipes](/cloud/managed-postgres/migrations/clickpipes) is the recommended | ||
| path for most migrations. It runs entirely inside the ClickHouse Cloud console | ||
| and walks you through connecting to the source, exporting and importing the | ||
| schema, and starting an initial load with or without CDC. Pre-built source | ||
| connectors cover Amazon RDS, Aurora, Supabase, Google Cloud SQL, Azure | ||
| Flexible Server, Neon, Crunchy Bridge, TimescaleDB, and any generic Postgres | ||
| instance. | ||
|
|
||
| ## PeerDB {#peerdb} | ||
|
|
||
| [PeerDB](/cloud/managed-postgres/migrations/peerdb) is a self-hosted migration | ||
| tool you run via Docker. Use it when your source or workflow isn't a fit for | ||
| the ClickPipes wizard — for example, when you need to script peer creation | ||
| across many databases or run the migration entirely inside your own network. | ||
| PeerDB doesn't migrate indexes, constraints, or triggers automatically; you | ||
| recreate those on the target after the data lands. | ||
|
|
||
| ## pg_dump and pg_restore {#pg-dump-pg-restore} | ||
|
|
||
| [pg_dump and pg_restore](/cloud/managed-postgres/migrations/pg_dump-pg_restore) | ||
| take a snapshot of the source and replay it on the target. There's no ongoing | ||
| replication, so writes must stop on the source for the duration of the dump | ||
| and restore. This is the right choice for small or static datasets, or | ||
| non-production environments where a maintenance window is acceptable. | ||
|
|
||
| ## Logical replication {#logical-replication} | ||
|
|
||
| [Logical replication](/cloud/managed-postgres/migrations/logical-replication) | ||
| uses native Postgres publications and subscriptions to stream changes from | ||
| the source to the target. You configure `wal_level`, replication slots, and | ||
| the `REPLICATION` privilege yourself — no third-party tooling sits in the | ||
| middle. Pick this path when you want full control over the replication | ||
| mechanics or your environment rules out external migration tools. | ||
|
|
||
| ## After the migration {#after-migration} | ||
|
|
||
| Once data is moving, use [data validation](/cloud/managed-postgres/migrations/data-validation) | ||
| to confirm row counts and content match between source and target before | ||
| cutting over application traffic. The [migrations FAQ](/cloud/managed-postgres/migrations/faq) | ||
| covers common errors and recovery steps. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok for the change