通用 Postgres 源设置指南
如果你使用的是侧边栏中列出的受支持提供方之一,请参考该提供方的专用指南。
ClickPipes 支持 Postgres 12 及更高版本。
启用逻辑复制
-
要在你的 Postgres 实例上启用复制,需要确保设置以下参数:
要检查该设置,你可以运行以下 SQL 命令:
输出应为
logical。如果不是,请运行: -
此外,建议在 Postgres 实例上配置以下参数:
要检查这些设置,你可以运行以下 SQL 命令:
如果这些值与推荐值不一致,可以运行以下 SQL 命令进行设置:
-
如果你对上述配置做了任何更改,必须重启 Postgres 实例,更改才会生效。
创建具有权限和 publication 的用户
以管理员用户身份连接到你的 Postgres 实例,并执行以下命令:
-
为 ClickPipes 创建一个专用用户:
-
为你在上一步中创建的用户授予模式级只读访问权限。以下示例展示了对
public模式的权限授予方式。对于每个包含你希望复制的表的模式,请重复执行这些命令: -
为该用户授予复制权限:
-
使用你希望复制的表创建一个 publication。我们强烈建议仅在 publication 中包含所需的表,以避免额外的性能开销。
注意任何包含在 publication 中的表必须要么定义了主键(primary key),要么将其 replica identity 配置为
FULL。有关作用域设置的指导,请参阅 Postgres 常见问题。-
为特定表创建 publication:
-
为特定模式中的所有表创建 publication:
clickpipespublication 将包含由指定表生成的一组变更事件,并将在后续用于摄取复制数据流。 -
在 pg_hba.conf 中为 ClickPipes 用户启用连接
如果您是自托管环境,则需要按照以下步骤,允许来自 ClickPipes 的 IP 地址对 ClickPipes 用户的连接。如果您使用的是托管服务,可以参考服务提供商的文档完成相同的配置。
-
修改
pg_hba.conf文件,使其允许来自 ClickPipes 的 IP 地址对 ClickPipes 用户的连接。pg_hba.conf文件中的示例条目如下: -
重新加载 PostgreSQL 实例以使更改生效:
增大 max_slot_wal_keep_size
这是一个推荐的配置调整,用于确保大型事务或提交不会导致复制槽被丢弃。
您可以通过更新 postgresql.conf 文件,将 PostgreSQL 实例的 max_slot_wal_keep_size 参数提高到更大的值(至少 100GB 或 102400)。
您可以重新加载 PostgreSQL 实例以使更改生效:
如需获取该数值的更佳配置建议,请联系 ClickPipes 团队。
接下来是什么?
现在你可以创建 ClickPipe,并开始将 Postgres 实例中的数据摄取到 ClickHouse Cloud 中。 请务必记录下在设置 Postgres 实例时使用的连接信息,因为在创建 ClickPipe 的过程中将需要这些信息。