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

Поддерживаемые версии Postgres

ClickPipes поддерживает Postgres версии 12 и новее.

Включите логическую репликацию

Вы можете пропустить этот раздел, если для вашего экземпляра RDS уже задан следующий параметр:
  • rds.logical_replication = 1
Обычно этот параметр уже настроен, если вы ранее использовали другой инструмент для репликации данных.
postgres=> SHOW rds.logical_replication ;
 rds.logical_replication
-------------------------
 on
(1 row)
Если это ещё не настроено, выполните следующие действия:
  1. Создайте новую группу параметров для вашей версии Postgres с требуемыми настройками:
    • Установите rds.logical_replication в значение 1
  1. Примените новую группу параметров к вашей базе данных RDS Postgres
  1. Перезагрузите экземпляр RDS, чтобы изменения вступили в силу

Настройка пользователя базы данных

Подключитесь к своему экземпляру RDS 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. Выдайте пользователю права на репликацию:
    GRANT rds_replication TO clickpipes_user;
    
  4. Создайте публикацию с таблицами, которые вы хотите реплицировать. Мы настоятельно рекомендуем включать в публикацию только необходимые таблицы, чтобы избежать лишних накладных расходов на производительность.
Любая таблица, включённая в публикацию, должна либо иметь первичный ключ, либо иметь настроенный параметр replica identity со значением FULL. Рекомендации по выбору состава публикации см. в FAQ по Postgres.
  • Чтобы создать публикацию для определённых таблиц:
    CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
    
    • Чтобы создать публикацию для всех таблиц в определённой схеме:
      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      
Публикация clickpipes будет содержать набор событий изменений для указанных таблиц и позже будет использоваться для приёма потока репликации.

Настройка сетевого доступа

Управление доступом по IP-адресам

Если вы хотите ограничить трафик к своему экземпляру RDS, добавьте задокументированные статические NAT IP-адреса в раздел Inbound rules группы безопасности RDS. Чтобы подключиться к экземпляру RDS через частную сеть, можно использовать AWS PrivateLink. Для настройки подключения следуйте нашему руководству по настройке AWS PrivateLink для ClickPipes.

Варианты обхода для RDS Proxy

RDS Proxy не поддерживает подключения для логической репликации. Если в RDS у вас используются динамические IP-адреса и вы не можете использовать DNS-имя или Lambda, вот несколько альтернатив:
  1. Используйте задание cron, чтобы периодически определять IP-адрес конечной точки RDS и обновлять NLB, если он изменился.
  2. Используйте уведомления о событиях RDS с EventBridge/SNS: автоматически запускайте обновления через уведомления AWS RDS о событиях.
  3. Стабильный EC2: разверните экземпляр EC2, который будет выступать в роли сервиса опроса или IP-прокси.
  4. Автоматизируйте управление IP-адресами с помощью таких инструментов, как Terraform или CloudFormation.

Что дальше?

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