Google Cloud SQL Postgres 源端设置指南
如果您使用的是受支持的服务提供商之一(见侧边栏),请参考该提供商的专用指南。
支持的 Postgres 版本
Postgres 12 及更高版本
启用逻辑复制
如果 cloudsql. logical_decoding 已开启且 wal_sender_timeout 为 0,则无需执行以下步骤。若你是从其他数据复制工具迁移过来,这些设置通常已经预先配置好。
- 在概览页面点击 Edit(编辑)按钮。

- 打开 Flags 选项卡,将
cloudsql.logical_decoding设置为 on,并将wal_sender_timeout设置为 0。完成这些更改后,需要重启你的 Postgres 服务器。



创建 ClickPipes 用户并授予权限
使用管理员用户连接到 Cloud SQL Postgres,并运行以下命令:
-
为 ClickPipes 创建一个专用用户:
-
为你在上一步创建的用户授予架构级只读访问权限。下面的示例展示了对
public架构的权限。对于每个包含你想要复制的表的架构,都需要重复这些命令: -
为该用户授予复制权限:
-
使用你想要复制的表创建一个 publication。我们强烈建议在 publication 中只包含你需要的表,以避免额外的性能开销。
注意包含在 publication 中的任何表必须要么定义了 主键,要么其 replica identity 被配置为
FULL。有关作用域设置的指导,请参阅 Postgres 常见问题。-
为特定表创建 publication:
-
为特定架构中的所有表创建 publication:
clickpipespublication 将包含由指定表生成的一组变更事件,并将在后续用于摄取复制流。 -
将 ClickPipes IP 添加到防火墙
请按照以下步骤将 ClickPipes 的 IP 添加到您的网络中。
如果您使用 SSH 隧道,则需要将 ClickPipes IP 添加到 Jump Server/Bastion(跳板机/Bastion 主机)的防火墙规则中。
- 转到 Connections 部分

- 转到 Networking 子部分



下一步
现在你可以创建你的 ClickPipe,并开始将你的 Postgres 实例中的数据摄取到 ClickHouse Cloud 中。 请务必记录在设置 Postgres 实例时使用的连接信息,因为在创建 ClickPipe 的过程中你将需要这些信息。