ClickPipes поддерживает Postgres версии 12 и более поздних версий.
Включите логическую репликацию
Вам не нужно выполнять приведённые ниже шаги, если для wal_level уже установлено значение logical. Обычно этот параметр уже настроен, если вы переходите с другого инструмента репликации данных.
- Нажмите на раздел Server parameters

- Измените значение
wal_levelнаlogical

- Для применения этого изменения потребуется перезапуск сервера. Перезапустите его, когда появится запрос.

Создание пользователей ClickPipes и выдача разрешений
Подключитесь к вашему Azure Flexible Server Postgres под пользователем admin и выполните приведённые ниже команды:
-
Создайте отдельного пользователя для ClickPipes.
CREATE USER clickpipes_user PASSWORD 'some-password'; -
Выдайте пользователю, созданному на предыдущем шаге, доступ к схеме в режиме только для чтения. В следующем примере показаны разрешения для схемы
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; -
Выдайте пользователю права на репликацию:
ALTER USER clickpipes_user WITH REPLICATION; -
Создайте публикацию с таблицами, которые вы хотите реплицировать. Мы настоятельно рекомендуем включать в публикацию только необходимые таблицы, чтобы избежать лишней нагрузки на производительность.
-
Чтобы создать публикацию для конкретных таблиц:
CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;-
Чтобы создать публикацию для всех таблиц в конкретной схеме:
CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
-
Публикация clickpipes определяет набор таблиц, события изменений из которых будут передаваться в ClickPipes. Мы не рекомендуем использовать FOR ALL TABLES, если только вы не собираетесь реплицировать все таблицы, поскольку включение лишних таблиц увеличивает WAL-трафик из Postgres в ClickPipes и снижает общую эффективность репликации.
Добавьте IP-адреса ClickPipes в брандмауэр
Чтобы добавить IP-адреса ClickPipes в свою сеть, выполните следующие действия.
- Перейдите на вкладку Networking и добавьте IP-адреса ClickPipes в брандмауэр вашего Azure Flexible Server Postgres или Jump Server/бастиона, если вы используете SSH-туннелирование.

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