您可以使用 ClickPipes 将源 Postgres 数据库中的数据摄取到 ClickHouse Cloud。源 Postgres 数据库既可以托管在本地环境中,也可以托管在云端,包括 Amazon RDS、Google Cloud SQL、Azure Database for Postgres、Supabase 等。
Postgres ClickPipes 可以通过 ClickPipes UI 手动部署和管理,也可以使用 OpenAPI 和 Terraform 以编程方式部署和管理。
前置条件
开始之前,你需要先确保 Postgres 数据库已正确配置。根据你的源 Postgres 实例,可以参考以下任一指南:
-
通用 Postgres 源,如果你使用的是其他 Postgres 提供商,或自托管实例。
-
TimescaleDB,如果你在托管服务或自托管实例上使用 TimescaleDB 扩展。
源 Postgres 数据库配置完成后,你就可以继续创建 ClickPipe。
创建你的 ClickPipe
请确保你已登录到 ClickHouse Cloud 账户。如果你还没有账户,可以在这里注册。
- 在 ClickHouse Cloud 控制台中,前往你的 ClickHouse Cloud 服务。

- 在左侧菜单中选择
数据源按钮,然后点击“设置 ClickPipe”

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

(可选) 设置 AWS Private Link
如果您的源 Postgres 数据库托管在 AWS 上,可以使用 AWS Private Link 连接到该数据库。这在您 希望保持数据传输私有时非常有用。 您可以按照设置指南来建立连接进行操作。
(可选) 修改 TLS 设置
默认情况下,您的 ClickPipe 在创建时会启用 TLS 和证书验证。您可以在创建 ClickPipe 时修改这些默认设置:

或者在已暂停的 ClickPipe 的 Settings 选项卡中的 Connection settings 部分进行编辑:


说明如下:
Disable TLS用于为该连接启用或禁用 TLS。关闭 TLS 意味着数据会以明文形式通过网络传输,其中可能包含 secrets 和敏感数据。Skip certificate verification用于启用或禁用对源数据库所提供证书的验证。请务必考虑跳过证书验证带来的安全影响。TLS Host(可选,默认为源 Host) 是在启用证书验证时,证书的 CN 必须匹配的 hostname。Upload CA可用于提供在启用证书验证时使用的 CA。
(可选) 设置 SSH 隧道
如果你的源 Postgres 数据库无法通过公网访问,可以填写 SSH 隧道的相关信息。
-
打开“Use SSH Tunnelling”开关。
-
填写 SSH 连接信息。

-
如需使用基于密钥的身份验证,请点击“Revoke and generate key pair”生成新的密钥对,并将生成的公钥复制到 SSH 服务器上的
~/.ssh/authorized_keys。 -
点击“Verify Connection”验证连接。
填写完连接信息后,点击“Next”。
配置复制设置
-
请确保从下拉列表中选择你在前置条件步骤中创建的 replication slot。

高级设置
如有需要,您可以配置高级设置。下面简要介绍各项设置:
- 同步间隔:指 ClickPipes 轮询源数据库以检查变更的时间间隔。该设置会影响目标端 ClickHouse 服务;对于成本较为敏感的用户,建议将其设为较高的值 (高于
3600) 。 - 初始加载的并行线程数:指用于拉取初始快照的并行工作线程数量。当您有大量表,并希望控制拉取初始快照时使用的并行工作线程数时,此设置会很有帮助。此设置按表生效。
- 拉取批次大小:单个批次拉取的行数。这是一个尽力而为的设置,因此在某些情况下可能不会严格生效。
- 每个分区快照的行数:指初始快照期间每个分区中要拉取的行数。当您的表中有大量行,并希望控制每个分区拉取的行数时,此设置会很有帮助。
- 并行快照的表数量:指初始快照期间并行拉取的表数量。当您有大量表,并希望控制并行拉取的表数量时,此设置会很有帮助。
配置表
-
在这里,您可以为 ClickPipe 选择目标端数据库。您可以选择现有数据库,也可以新建一个数据库。

-
您可以选择要从源 Postgres 数据库复制的表。选择表时,您还可以重命名目标端 ClickHouse 数据库中的表,并排除特定列。
-
此外,您可以提供自定义的
PARTITION BY <expr>表达式,以控制目标端 ClickHouse 表的分区方式。
检查权限并启动 ClickPipe
-
在权限下拉菜单中选择“完全访问”角色,然后点击“完成设置”。

接下来做什么?
设置好 ClickPipe,将数据从 PostgreSQL 复制到 ClickHouse Cloud 后,你就可以重点考虑如何查询和建模数据,以获得最佳性能。请参阅迁移指南,评估哪种策略最适合你的需求;同时也可查看去重策略 (使用 CDC) 和排序键页面,了解 CDC 工作负载的最佳实践。
如需了解有关 PostgreSQL CDC 的常见问题和故障排查信息,请参阅Postgres 常见问题页面。