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

Руководство по настройке источника 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 USER clickpipes_user WITH REPLICATION;
    
  4. Создайте publication с таблицами, которые вы хотите реплицировать. Настоятельно рекомендуется включать в publication только необходимые таблицы, чтобы избежать лишней нагрузки на производительность.

    Примечание

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

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

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

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      

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

Добавьте IP-адреса ClickPipes в список разрешённых

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

Где найти Firewall Rules в Crunchy Bridge?
Добавление Firewall Rules для ClickPipes

Что дальше?

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