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

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

Чтобы передавать данные из экземпляра AlloyDB в ClickHouse Cloud с помощью ClickPipes, ваш экземпляр должен быть настроен для логической репликации. Это поддерживается начиная с AlloyDB версии 14.

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

Чтобы проверить, включена ли логическая репликация в вашем экземпляре AlloyDB, выполните следующий запрос на основном экземпляре:
SHOW  wal_level;
Если результат — logical, логическая репликация уже включена, и вы можете перейти к следующему шагу. Если результат — replica, необходимо установить флаги alloydb.enable_pglogical и alloydb.logical_decoding в значение on на основном экземпляре.
Как указано в документации по флагам AlloyDB, изменение флагов, включающих логическую репликацию, требует перезапуска основного экземпляра.
Чтобы включить эти флаги:
  1. В консоли Google Cloud перейдите на страницу AlloyDB Clusters. В меню Actions для основного экземпляра нажмите Edit.
  2. Прокрутите страницу вниз до раздела Advanced configuration options и разверните его. В разделе Flags нажмите Add a database flag.
  3. Нажмите Update instance, чтобы сохранить изменения конфигурации. Важно: это действие приводит к перезапуску основного экземпляра.
  4. Когда статус экземпляра изменится с Updating на Ready, выполните следующий запрос на основном экземпляре, чтобы убедиться, что логическая репликация включена:
    SHOW  wal_level;
    
    Результат должен быть logical.

Создайте пользователя ClickPipes и настройте разрешения для репликации

Подключитесь к своему экземпляру AlloyDB от имени администратора и выполните следующие команды:
  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. Создайте публикацию с таблицами, которые вы хотите реплицировать. Мы настоятельно рекомендуем включать в публикацию только действительно нужные таблицы, чтобы избежать лишней нагрузки на производительность.
Любая таблица, включённая в публикацию, должна либо иметь определённый первичный ключ, либо иметь настроенный параметр 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 будет содержать набор событий изменения, сгенерированных указанными таблицами, и позднее будет использоваться для приёма потока репликации.

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

ClickPipes не поддерживает подключения Private Service Connect (PSC). Если вы не открываете публичный доступ к экземпляру AlloyDB, можно использовать SSH-туннель для безопасного подключения. Поддержка PSC появится в будущем.
Теперь нужно разрешить подключения к экземпляру AlloyDB из ClickPipes.
  1. В консоли Google Cloud перейдите на страницу AlloyDB Clusters. Выберите основной экземпляр, чтобы открыть страницу Overview.
  2. Прокрутите вниз до раздела Instances in your cluster и нажмите Edit primary.
  3. Установите флажок Enable Public IP, чтобы разрешить подключения к экземпляру через общедоступный интернет. В разделе Authorized external networks укажите список статических IP-адресов ClickPipes для региона, в котором развёрнут ваш сервис.
AlloyDB ожидает, что адреса будут указаны в нотации CIDR. Вы можете привести предоставленный список статических IP-адресов ClickPipes к этому формату, добавив /32 к каждому адресу.
  1. В разделе Network Security выберите Require SSL Encryption (default) (если этот параметр ещё не выбран).
  2. Нажмите Update instance, чтобы сохранить изменения в конфигурации сетевой безопасности.

Что дальше?

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