ClickPipes поддерживает Postgres версии 12 и новее.
Включите логическую репликацию
В Crunchy Bridge логическая репликация по умолчанию включена. Убедитесь, что указанные ниже настройки заданы корректно. Если нет, измените их соответствующим образом.
SHOW wal_level; -- должно быть logical
SHOW max_wal_senders; -- должно быть 10
SHOW max_replication_slots; -- должно быть 10Создание пользователя ClickPipes и предоставление разрешений
Подключитесь к Crunchy Bridge Postgres под пользователем postgres и выполните приведённые ниже команды:
-
Создайте выделенного пользователя для 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 в список разрешённых
Добавьте ClickPipes IPs в список разрешённых в Crunchy Bridge, создав правила брандмауэра.


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