Универсальное руководство по настройке источника Postgres
Если вы используете одного из поддерживаемых провайдеров (в боковом меню), обратитесь к соответствующему руководству по этому провайдеру.
ClickPipes поддерживает Postgres версий 12 и выше.
Включение логической репликации
-
Чтобы включить репликацию на вашем экземпляре Postgres, необходимо убедиться, что заданы следующие настройки:
Чтобы это проверить, выполните следующую SQL-команду:
Результат должен быть
logical. Если это не так, выполните: -
Кроме того, рекомендуется задать на экземпляре Postgres следующие настройки:
Чтобы их проверить, выполните следующие SQL-команды:
Если значения не соответствуют рекомендованным, выполните следующие SQL-команды, чтобы их задать:
-
Если вы внесли какие-либо изменения в конфигурацию, как описано выше, вам НЕОБХОДИМО ПЕРЕЗАПУСТИТЬ экземпляр Postgres, чтобы изменения вступили в силу.
Создание пользователя с правами доступа и публикацией
Подключитесь к вашему экземпляру Postgres под учетной записью администратора и выполните следующие команды:
-
Создайте отдельного пользователя для ClickPipes:
-
Предоставьте на уровне схемы доступ только для чтения пользователю, созданному на предыдущем шаге. В следующем примере показаны права для схемы
public. Повторите эти команды для каждой схемы, содержащей таблицы, которые вы хотите реплицировать: -
Предоставьте пользователю привилегии репликации:
-
Создайте публикацию с таблицами, которые вы хотите реплицировать. Настоятельно рекомендуется включать в публикацию только необходимые таблицы, чтобы избежать дополнительной нагрузки на производительность.
ПримечаниеЛюбая таблица, включённая в публикацию, должна либо иметь определённый первичный ключ, либо иметь настроенную replica identity со значением
FULL. См. раздел Postgres FAQs для рекомендаций по определению области действия публикаций.-
Чтобы создать публикацию для определённых таблиц:
-
Чтобы создать публикацию для всех таблиц в определённой схеме:
Публикация
clickpipesбудет содержать набор событий изменений, сгенерированных указанными таблицами, и позже будет использоваться для приёма потока репликации. -
Разрешение подключений в pg_hba.conf для пользователя ClickPipes
Если вы развертываете всё самостоятельно, вам необходимо разрешить подключения к пользователю ClickPipes с IP-адресов ClickPipes, выполнив описанные ниже шаги. Если вы используете управляемый сервис, вы можете сделать то же самое, следуя документации провайдера.
-
Внесите необходимые изменения в файл
pg_hba.conf, чтобы разрешить подключения к пользователю ClickPipes с IP-адресов ClickPipes. Пример записи в файлеpg_hba.confбудет выглядеть так: -
Перезагрузите экземпляр PostgreSQL, чтобы изменения вступили в силу:
Увеличение max_slot_wal_keep_size
Это рекомендованное изменение конфигурации, которое позволяет предотвратить удаление слота репликации из‑за крупных транзакций и коммитов.
Вы можете увеличить параметр max_slot_wal_keep_size для вашего экземпляра PostgreSQL до большего значения (как минимум 100 ГБ или 102400), обновив файл postgresql.conf.
Вы можете перезапустить экземпляр Postgres, чтобы изменения вступили в силу:
Для более точного подбора этого значения вы можете связаться с командой ClickPipes.
Что дальше?
Теперь вы можете создать свой ClickPipe и начать приём данных из вашего экземпляра Postgres в ClickHouse Cloud. Обязательно сохраните параметры подключения, которые вы использовали при настройке экземпляра Postgres, — они понадобятся вам при создании ClickPipe.