Перейти к основному содержанию
Перейти к основному содержанию

Руководство по настройке источника данных 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 и выдача прав

Подключитесь к вашему Crunchy Bridge Postgres от имени пользователя 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. Создайте публикацию с таблицами, которые вы хотите реплицировать. Настоятельно рекомендуется включать в публикацию только необходимые таблицы, чтобы избежать лишних накладных расходов и деградации производительности.

    Примечание

    Любая таблица, включённая в публикацию, должна либо иметь определённый первичный ключ, либо её replica identity должна быть настроена на FULL. См. раздел Postgres FAQs для рекомендаций по определению области публикаций.

    • Чтобы создать публикацию для конкретных таблиц:

      CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
      
    • Чтобы создать публикацию для всех таблиц в определённой схеме:

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      

    Публикация clickpipes будет содержать набор событий изменений, сгенерированных из указанных таблиц, и позже будет использоваться для приёма потока репликации.

Разрешение IP-адресов ClickPipes

Добавьте IP-адреса ClickPipes в список разрешённых, создав соответствующие правила брандмауэра (Firewall Rules) в Crunchy Bridge.

Где найти правила брандмауэра (Firewall Rules) в Crunchy Bridge?
Добавление правил брандмауэра (Firewall Rules) для ClickPipes

Что дальше?

Теперь вы можете создать ClickPipe и начать приём данных из экземпляра Postgres в ClickHouse Cloud. Обязательно сохраните параметры подключения, которые вы использовали при настройке экземпляра Postgres, так как они понадобятся при создании ClickPipe.