Skip to main content

支持的 Postgres 版本

ClickPipes 支持 Postgres 12 及以上版本。

启用逻辑复制

如果您的 RDS 实例已经配置了以下设置,则可以跳过本节:
  • rds.logical_replication = 1
如果您之前使用过其他数据复制工具,通常会已预先配置好此设置。
如果尚未配置,请按以下步骤操作:
  1. 为你的 Postgres 版本创建一个包含所需设置的新参数组:
    • rds.logical_replication 设置为 1
  1. 将新参数组应用到你的 RDS Postgres 数据库
  1. 重启你的 RDS 实例以使更改生效

配置数据库用户

使用管理员用户连接到你的 RDS Postgres 实例,并执行以下命令:
  1. 为 ClickPipes 创建一个专用用户:
  2. 为上一步创建的用户授予 schema 级只读权限。以下示例展示了 public schema 的权限。对于每个包含你要复制的表的 schema,都需要重复执行这些命令:
  3. 向该用户授予复制特权:
  4. 使用你要复制的表创建一个 publication。我们强烈建议只在 publication 中包含实际需要的表,以避免额外的性能开销。
publication 中包含的任何表都必须定义主键,_或者_将其副本标识配置为 FULL。有关如何界定范围的指导,请参阅 Postgres FAQ
  • 为特定表创建 publication:
    • 为特定 schema 中的所有表创建 publication:
clickpipes publication 定义了将变更事件流式传输到 ClickPipes 的那组表。除非你打算复制每一张表,否则我们不建议使用 FOR ALL TABLES,因为包含不必要的表会增加从 Postgres 到 ClickPipes 的 WAL 流量,并降低整体复制效率。

使用 IAM 身份验证 (可选)

无需使用密码,您可以通过 AWS IAM 基于角色的访问控制对 ClickPipes 用户进行身份验证。按如下方式创建该用户,然后授予其与上文所示相同的 schema 和复制特权:
用于复制的 IAM 身份验证要求将 rds.iam_auth_for_replication 参数设为 1。PostgreSQL 11 及更高版本支持此功能;在更早的版本中,你只能运行 Initial Load Only ClickPipes。
有关设置 ClickPipes 以通过这种方式进行身份验证所需的 IAM 角色和策略的完整步骤,请参阅 AWS IAM DB authentication (RDS/Aurora)

配置网络访问

基于 IP 的访问控制

如果您想限制对 RDS 实例的访问流量,请将文档中列出的静态 NAT IP 地址添加到 RDS 安全组的 Inbound rules 中。 如需通过私有网络连接到您的 RDS 实例,可以使用 AWS PrivateLink。请参考我们的 ClickPipes AWS PrivateLink 设置指南 来完成连接设置。

RDS Proxy 的替代方案

RDS Proxy 不支持逻辑复制连接。如果你的 RDS 使用动态 IP 地址,且无法使用 DNS 名称或 Lambda,以下是一些可选方案:
  1. 使用 cron 作业定期解析 RDS 端点的 IP,并在 IP 发生变化时更新 NLB。
  2. 使用结合 EventBridge/SNS 的 RDS 事件通知:通过 AWS RDS 事件通知自动触发更新。
  3. 使用稳定的 EC2:部署一个 EC2 实例,充当轮询服务或基于 IP 的代理。
  4. 使用 Terraform 或 CloudFormation 等工具自动管理 IP 地址。

接下来呢?

你现在可以创建 ClickPipe,开始将 Postgres 实例中的数据摄取到 ClickHouse Cloud。 请务必记下设置 Postgres 实例时使用的连接信息,因为在创建 ClickPipe 的过程中会用到这些信息。
最后修改于 2026年7月23日