支持的版本
启用逻辑复制
logical,则说明逻辑复制已启用,你可以跳到下一步。如果结果是 replica,则必须在主节点实例中将 alloydb.enable_pglogical 和 alloydb.logical_decoding 标志设为 on。
要启用这些标志,请执行以下操作:
- 在 Google Cloud Console 中,前往 AlloyDB 的 Clusters 页面。在主节点实例对应的 Actions 菜单中,点击 Edit。
-
向下滚动到 Advanced configuration options 并展开该部分。在 Flags 下,点击 Add a database flag。
- 添加
allowdb.enable_pglogical标志,并将其值设为on - 添加
alloydb.logical_decoding标志,并将其值设为on
- 添加
- 点击 Update instance 保存配置更改。请注意,此操作会触发主节点实例重启。
-
当实例状态从
Updating变为Ready后,对主节点实例运行以下查询,以验证逻辑复制是否已启用:结果应为logical。
创建 ClickPipes 用户并管理复制权限
-
为 ClickPipes 创建一个专用用户:
-
为上一步创建的用户授予 schema 级只读访问权限。以下示例展示了
publicschema 的权限。对于每个包含待复制表的 schema,都需要重复执行这些命令: -
向该用户授予复制权限:
- 使用你要复制的表创建一个 publication。我们强烈建议只在 publication 中包含所需的表,以避免额外的性能开销。
-
为特定表创建 publication:
-
为特定 schema 中的所有表创建 publication:
-
为特定 schema 中的所有表创建 publication:
clickpipes publication 定义了其变更事件将流式传输到 ClickPipes 的那组表。除非你打算复制每一张表,否则我们不建议使用 FOR ALL TABLES,因为包含不必要的表会增加从 Postgres 到 ClickPipes 的 WAL 流量,并降低整体复制效率。
配置网络访问
- 使用 Private Service Connect
- 允许 ClickPipes IP
- 使用 SSH 隧道
对于从托管在 GCP 上的 ClickHouse Cloud 服务建立的私有连接,请按照 GCP Private Service Connect 指南,为 AlloyDB 实例配置反向专用终结点。