使用 CDC 将数据从 Postgres 摄取到 ClickHouse
你可以使用 ClickPipes 将源 Postgres 数据库中的数据摄取到 ClickHouse Cloud。源 Postgres 数据库可以托管在本地环境或云端,例如 Amazon RDS、Google Cloud SQL、Azure Database for Postgres、Supabase 等。
前提条件
在开始之前,需要先确保您的 Postgres 数据库已正确配置。根据您使用的源端 Postgres 实例类型,可以参考以下任一指南:
-
通用 Postgres 源,如果您使用的是其他任何 Postgres 服务提供商,或使用自建实例。
-
TimescaleDB,如果您在托管服务或自建实例上使用 TimescaleDB 扩展。
PgBouncer、RDS Proxy、Supabase Pooler 等 Postgres 代理不支持基于 CDC(变更数据捕获)的复制。请务必不要在 ClickPipes 配置中使用这些代理,而应填写实际 Postgres 数据库的连接信息。
在完成源端 Postgres 数据库的配置之后,您就可以继续创建 ClickPipe 了。
创建 ClickPipe
请确保你已登录到 ClickHouse Cloud 账号。如果你还没有账号,可以在这里注册。
- 在 ClickHouse Cloud 控制台中,找到并进入你的 ClickHouse Cloud 服务实例。

- 在左侧菜单中选择
Data Sources按钮,然后点击 “Set up a ClickPipe”。

-
选择
Postgres CDC卡片。
添加源 Postgres 数据库连接
-
填写你在前提条件步骤中已经配置好的源 Postgres 数据库连接信息。

(可选)配置 AWS Private Link
如果你的源 Postgres 数据库托管在 AWS 上,你可以使用 AWS Private Link 进行连接。这样可以让你的数据传输保持私有。 你可以按照此设置指南来配置连接。
(可选)配置 SSH 隧道
如果你的源 Postgres 数据库无法公开访问,你可以配置 SSH 隧道。
-
启用 “Use SSH Tunnelling” 开关。
-
填写 SSH 连接信息。

-
若要使用基于密钥的认证,点击 “Revoke and generate key pair” 生成新的密钥对,并将生成的公钥复制到 SSH 服务器的
~/.ssh/authorized_keys中。 -
点击 “Verify Connection” 以验证连接。
请确保在 SSH 堡垒机的防火墙规则中将 ClickPipes IP addresses 加入白名单,以便 ClickPipes 能够建立 SSH 隧道。
填写完所有连接信息后,点击 “Next”。
配置复制设置
-
确保从下拉列表中选择你在前提条件步骤中创建的 replication slot。

高级设置
如有需要,你可以配置高级设置。下面是每个设置项的简要说明:
- Sync interval:ClickPipes 轮询源数据库变更的时间间隔。这会对目标 ClickHouse 服务产生影响。对于成本敏感型用户,我们建议将其设置为较大的数值(大于
3600)。 - Parallel threads for initial load:用于获取初始快照的并行工作线程数量。当你有大量表并希望控制用于获取初始快照的并行工作线程数量时,此设置会很有用。此设置按表生效。
- Pull batch size:单次批量拉取的行数。这是一个尽力而为的设置,在某些情况下可能不会被严格遵守。
- Snapshot number of rows per partition:初始快照期间,每个分区要获取的行数。当你的表中有大量行,并希望控制每个分区中获取的行数时,此设置会很有用。
- Snapshot number of tables in parallel:初始快照期间并行获取的表数量。当你有大量表,并希望控制并行获取的表数量时,此设置会很有用。
配置表
-
在这里你可以为 ClickPipe 选择目标数据库。你可以选择一个已有数据库,或者创建一个新数据库。

-
你可以从源 Postgres 数据库中选择要复制的表。在选择表时,你还可以在目标 ClickHouse 数据库中重命名这些表,并排除特定列。
注意如果你在 ClickHouse 中定义的排序键与 Postgres 中的主键不同,别忘了阅读与其相关的所有注意事项。
检查权限并启动 ClickPipe
-
在权限下拉菜单中选择 “Full access” 角色,然后点击 “Complete Setup”。

接下来是什么?
在您设置好 ClickPipe,将数据从 PostgreSQL 复制到 ClickHouse Cloud 之后,就可以专注于如何查询和建模数据以获得最佳性能。请参阅迁移指南,评估哪种策略最适合您的需求,并参考去重策略(使用 CDC)和排序键页面,了解 CDC 工作负载的最佳实践。
如需了解 PostgreSQL CDC 的常见问题及故障排除方法,请参阅 Postgres 常见问题页面。