Skip to main content
ClickHouse Cloud 现已提供 ClickPipes,可将外部 PostgreSQL 数据库迁移到 Managed Postgres 服务。这项内置集成简化了整个流程,帮助您连接源数据库、导出 schema、将其导入 Managed Postgres,并设置持续复制。

前置条件

迁移前注意事项

  • DDL 传播:持续复制 (CDC) 会捕获 DML 操作和 ADD COLUMN。其他 DDL 更改 (如 DROP COLUMNALTER COLUMN) 不会自动传播,必须在目标端手动执行。
如果您在迁移过程中遇到问题,请查看 Managed Postgres Migrations FAQ,了解常见错误及其解决方案。
1

连接到源数据库

打开 ClickHouse Cloud 控制台,选择您的 Managed Postgres 服务。在左侧边栏中,点击 数据源点击 开始导入填写源 PostgreSQL 数据库的连接信息:主机、端口、用户名、密码和数据库名称。如果源数据库要求使用 TLS,请启用该选项。如果您需要通过私网连接访问源数据库,可以选择 SSH 隧道 并提供所需的 SSH 信息。这样,迁移便可安全连接到无法从公网访问的数据库。选择一种摄取方式:
  • 初始加载 + CDC (变更数据捕获) — 先复制现有数据,然后持续将后续变更同步到目标端。
  • 仅初始加载 — 一次性复制,不进行持续复制。
  • 仅 CDC (变更数据捕获) — 跳过初始复制,仅复制从此刻开始产生的新变更。
点击 下一步
2

导出数据库 schema

向导会显示一条已预填源连接信息的 pg_dump 命令。在终端中运行它:
这会在当前目录中创建 pg.sql点击 下一步
3

将 schema 导入您的 Managed Postgres 服务

从下拉列表中选择目标数据库,或点击 Create a new database 来创建新数据库。向导会显示一条 psql 命令,用于将 schema 转储导入您的 Managed Postgres 服务。在终端中运行它:
点击 下一步
4

配置摄取设置

指定用于逻辑复制的 publication。如果留空,系统会自动创建一个 publication。展开 高级复制设置 以调优吞吐量:点击 下一步
5

选择表

选择您要复制的表。表按 schema 分组。您可以选择单个表,或展开某个 schema 以选择其中的全部表。点击 Create migration

监控迁移

创建迁移后,你会在数据源中看到它,状态为 运行中 点击该迁移以打开详情视图。Tables 选项卡会显示每个表的初始加载进度,包括已处理的行数、分区数,以及每个分区的平均耗时。Metrics 选项卡则会在 CDC 开始后显示复制延迟和吞吐量。

迁移后任务

初始加载完成后,如果使用 CDC,且复制延迟几乎为零: 验证行数。 在切换流量之前,对源端和目标端的关键表进行抽查:
停止向源端写入。 暂停应用写入。要在切换期间强制设为只读模式:
确认复制已追上。 比较源端和目标端的最新一行:
重置序列。 使序列与各表中的当前最大值保持一致:
切换应用流量。 将读写流量切换到你的 Managed Postgres 服务,并监控错误、约束冲突以及复制状态是否正常。 清理。 完成切换并确认新服务运行正常后,从数据源中删除此次迁移。如果你使用了 CDC,请从源端删除 replication slot 以释放资源:

后续步骤

最后修改于 2026年7月24日