在继续之前,请确保 ClickPipes 服务能够访问你的 Postgres 服务。默认情况下应当如此,但如果你限制了 IP 访问,则可能需要根据 ClickHouse 服务所在的区域,从此列表中为相应的源 IP 授予访问权限。
1
配置复制服务
填写复制相关设置:
- Integration name:此 ClickPipe 的名称
- ClickHouse 服务:选择已有的 ClickHouse Cloud service,或新建一个
- Postgres database:作为复制来源的源数据库
- Replication method:选择以下之一:
- Initial load + CDC (变更数据捕获) :导入现有数据,并持续同步新的变更 (推荐)
- Initial load only:对现有数据做一次性 snapshot,不进行后续同步
- CDC (变更数据捕获) only:跳过初始 snapshot,仅捕获此后产生的新变更
2
配置复制设置
微调数据的复制方式:
- Sync interval (seconds):从 Postgres 拉取变更的频率 (默认值:60)
- Parallel threads for initial load:初始 snapshot 期间使用的线程数 (默认值:4)
- Pull batch size:复制过程中每个批次拉取的行数 (默认值:100000)
- Snapshot number of rows per partition:初始 snapshot 期间每个分区的行数 (默认值:100000)
- Snapshot number of tables in parallel:并发执行 snapshot 的表数量 (默认值:1)
3
选择要复制的表
选择目标端数据库,并选定要复制的表:
- Destination database:选择已有的 ClickHouse 数据库,或新建一个
- Prefix default destination table names with schema name:将 Postgres schema 名作为表名前缀,以避免命名冲突
- Preserve NULL values from source:保留 NULL 值,而不是转换为类型默认值。该设置对管道中的所有表生效,且管道创建后无法更改。
- Remove deleted rows during merges:对于 ReplacingMergeTree 表,在后台 merge 期间物理删除已删除的行
4
监控你的 ClickPipe
ClickPipe 启动后,你会在同一菜单中看到它。全部数据的初始 snapshot 可能需要一段时间,具体取决于表的规模。点击集成名称即可查看详细状态、监控进度、查看错误并管理该 ClickPipe。参见 Postgres ClickPipe 的生命周期,了解 ClickPipe 可能处于的各种状态。