跳到主要内容
跳到主要内容

Crunchy Bridge Postgres 源设置指南

ClickPipes 支持 Postgres 12 及更高版本。

启用逻辑复制

Crunchy Bridge 默认已启用逻辑复制。请确保以下设置配置正确;如有不符,请进行相应调整。

SHOW wal_level; -- should be logical
SHOW max_wal_senders; -- should be 10
SHOW max_replication_slots; -- should be 10

创建 ClickPipes 用户并授予权限

使用 postgres 用户连接到你的 Crunchy Bridge Postgres,并运行以下命令:

  1. 为 ClickPipes 创建一个专用用户:

    CREATE USER clickpipes_user PASSWORD 'some-password';
    
  2. 为你在上一步创建的用户授予模式级只读访问权限。以下示例展示了对 public 模式的权限设置。对于每个包含你希望复制的表的模式,都需要重复这些命令:

    GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
    GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
    
  3. 为该用户授予复制权限:

     ALTER ROLE clickpipes_user REPLICATION;
    
  4. 为你想要复制的表创建一个 publication。我们强烈建议仅在 publication 中包含你确实需要的表,以避免额外的性能开销。

    注意

    任何包含在 publication 中的表必须要么定义了主键,要么将其 replica identity 配置为 FULL。关于 publication 作用范围的指导,请参阅 Postgres 常见问题

    • 为特定表创建 publication:

      CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
      
    • 为特定模式中所有表创建 publication:

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      

    clickpipes publication 将包含由指定表生成的一组变更事件,并会在之后用于摄取复制流。

将 ClickPipes IP 加入允许列表

在 Crunchy Bridge 中添加 Firewall Rules,将 ClickPipes IP 加入允许列表。

在 Crunchy Bridge 中哪里可以找到 Firewall Rules?
为 ClickPipes 添加 Firewall Rules

下一步?

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