Skip to main content

Documentation Index

Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-54bf0ebb.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Managed Postgres data migration

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.
MethodOngoing replication (CDC)Where it runsBest for
ClickPipesYesClickHouse Cloud consoleMost migrations — guided wizard with initial load and CDC out of the box
PeerDBYesSelf-hosted (Docker)Sources or workflows not covered by the ClickPipes UI
pg_dump and pg_restoreNoYour local machineOne-time moves of small or static datasets where downtime is acceptable
Logical replicationYesSource and target PostgresDirect control over native Postgres replication, no third-party tooling

ClickPipes

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 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 and 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 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

Once data is moving, use data validation to confirm row counts and content match between source and target before cutting over application traffic.