RDS Postgres 源配置指南
支持的 Postgres 版本
ClickPipes 支持 Postgres 12 及更高版本。
启用逻辑复制
如果您的 RDS 实例已经配置了以下设置,可以跳过本节:
rds.logical_replication = 1wal_sender_timeout = 0
如果您之前已经使用过其他数据复制工具,这些设置通常已经预先配置好。
如果尚未完成配置,请按照以下步骤操作:
- 针对您的 Postgres 版本创建一个新的参数组,并配置以下必需参数:
- 将
rds.logical_replication设置为 1 - 将
wal_sender_timeout设置为 0
- 将



- 将新的参数组应用到您的 RDS Postgres 数据库

- 重启您的 RDS 实例以应用更改

配置数据库用户
以管理员用户身份连接到你的 RDS Postgres 实例,并执行以下命令:
-
为 ClickPipes 创建一个专用用户:
-
为你在上一步创建的用户授予模式级别的只读访问权限。以下示例展示了对
public模式的权限设置。对于每个包含你希望复制的表的模式,请重复执行这些命令: -
为该用户授予复制权限:
-
为你希望复制的表创建一个publication。我们强烈建议只在 publication 中包含你需要的表,以避免性能开销。
注意任何包含在 publication 中的表必须定义有 primary key,或者 将其 replica identity 配置为
FULL。有关如何设置 publication 作用范围的指导,请参阅 Postgres 常见问题。-
为特定表创建 publication:
-
为特定模式中的所有表创建 publication:
clickpipespublication 将包含由指定表生成的一组变更事件,并将在后续用于摄取该复制流。 -
配置网络访问
基于 IP 的访问控制
如果您希望限制访问 RDS 实例的流量,请将文档中列出的静态 NAT IP 添加到 RDS 安全组的 Inbound rules 中。


通过 AWS PrivateLink 进行私有访问
要通过私有网络连接到您的 RDS 实例,可以使用 AWS PrivateLink。请参阅我们的 适用于 ClickPipes 的 AWS PrivateLink 设置指南 来完成连接配置。
针对 RDS Proxy 的变通方案
RDS Proxy 不支持逻辑复制连接。如果你的 RDS 使用动态 IP 地址,且无法使用 DNS 名称或 Lambda 函数,可以考虑以下替代方案:
- 使用 cron 作业,定期解析 RDS 端点的 IP,并在发生变化时更新 NLB。
- 使用结合 EventBridge/SNS 的 RDS 事件通知(RDS Event Notifications):利用 AWS RDS 事件通知自动触发更新。
- 使用稳定的 EC2 实例:部署一个 EC2 实例作为轮询服务或基于 IP 的代理。
- 使用 Terraform 或 CloudFormation 等工具自动化 IP 地址管理。
下一步
现在您可以创建您的 ClickPipe,并开始将 Postgres 实例中的数据摄取到 ClickHouse Cloud 中。 请务必记录在设置 Postgres 实例时使用的连接详情,因为在创建 ClickPipe 的过程中您将需要用到这些信息。