每个 ClickHouse Managed Postgres 实例都内置了向任意 ClickHouse 服务进行 CDC (变更数据捕获) 的能力。这使你能够将 Postgres 实例中的部分或全部数据迁移到 ClickHouse,并让 Postgres 中的数据变更持续、近乎实时地同步到 ClickHouse。其底层由 ClickPipes 提供支持。
要使用此功能,请点击 Postgres 实例侧边栏中的 同步到 ClickHouse。

点击 在 ClickHouse 中复制数据,开始设置你的 ClickPipe。
配置复制服务
填写复制设置:
- 集成名称:此 ClickPipe 的名称
- ClickHouse 服务:选择现有的 ClickHouse Cloud 服务或创建一个新的
- Postgres 数据库:要从中复制的源数据库
- 复制方法:选择以下之一:
- 初始加载 + CDC (变更数据捕获):导入现有数据,并使用后续变更持续更新表 (推荐)
- 仅初始加载:对现有数据执行一次性快照,不进行持续更新
- 仅 CDC (变更数据捕获):跳过初始快照,仅捕获后续变更

Click 下一步 继续。
配置复制设置
微调数据复制方式:
- 同步间隔 (秒):从 Postgres 拉取变更的频率 (默认:60)
- 初始加载的并行线程数:初始快照期间使用的线程数 (默认:4)
- 拉取批次大小:复制期间每个批次拉取的行数 (默认:100000)
- 快照中每个分区的行数:初始快照期间每个分区包含的行数 (默认:100000)
- 并行快照的表数量:并发执行快照的表数量 (默认:1)

Click 下一步 继续。
选择要复制的表
选择目标数据库,并选择要复制的表:
- 目标数据库:选择现有的 ClickHouse 数据库或创建一个新的
- 默认目标表名加上 schema 名称前缀:添加 Postgres schema 作为前缀,以避免命名冲突
- 保留源中的 NULL 值:保留 NULL 值,而不是将其转换为类型默认值。此设置适用于管道中的所有表,并且在管道创建后无法更改。
- 在合并期间移除已删除的行:对于 ReplacingMergeTree 表,会在后台合并期间物理删除已删除的行
展开各个 schema 并选择要复制的单个表。你还可以自定义目标表名和列设置。

Click 将数据复制到 ClickHouse 开始复制。
监控你的 ClickPipe
ClickPipe 启动后,你会在同一菜单中看到它。所有数据的初始快照可能需要一些时间,具体取决于你的表大小。

点击集成名称可查看详细状态、监控进度、查看错误并管理 ClickPipe。参见 Postgres ClickPipe 的生命周期 来了解 ClickPipe 可能处于的不同状态。