Общее руководство по настройке источника Postgres
Если вы используете одного из поддерживаемых провайдеров (см. боковую панель), обратитесь к соответствующему руководству по этому провайдеру.
ClickPipes поддерживает Postgres версии 12 и новее.
Включение логической репликации
-
Чтобы включить репликацию в вашем экземпляре Postgres, необходимо убедиться, что установлены следующие параметры:
Чтобы проверить это, выполните следующую SQL-команду:
В выводе должно быть значение
logical. Если это не так, выполните: -
Дополнительно рекомендуется установить в экземпляре Postgres следующие параметры:
Чтобы проверить это, выполните следующие SQL-команды:
Если значения не соответствуют рекомендуемым, выполните следующие SQL-команды, чтобы задать их:
-
Если вы внесли какие-либо изменения в конфигурацию, как указано выше, вам НЕОБХОДИМО ПЕРЕЗАПУСТИТЬ экземпляр Postgres, чтобы изменения вступили в силу.
Создание пользователя с правами доступа и публикацией
Подключитесь к вашему экземпляру Postgres под пользователем с правами администратора и выполните следующие команды:
-
Создайте отдельного пользователя для ClickPipes:
-
Предоставьте на уровне схемы доступ только на чтение пользователю, созданному на предыдущем шаге. В следующем примере показаны права для схемы
public. Повторите эти команды для каждой схемы, содержащей таблицы, которые вы хотите реплицировать: -
Предоставьте пользователю права на репликацию:
-
Создайте publication с таблицами, которые вы хотите реплицировать. Настоятельно рекомендуем включать в публикацию только те таблицы, которые вам необходимы, чтобы избежать лишних накладных расходов и снижения производительности.
ПримечаниеДля любой таблицы, включённой в публикацию, должен быть определён первичный ключ или для неё должна быть настроена 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 до более высокого значения (как минимум 100GB или 102400), обновив файл postgresql.conf.
Вы можете перезагрузить экземпляр сервера Postgres, чтобы изменения вступили в силу:
За более точной рекомендацией по выбору этого значения вы можете обратиться к команде ClickPipes.
Что дальше?
Теперь вы можете создать ClickPipe и начать приём данных из вашего экземпляра Postgres в ClickHouse Cloud. Обязательно запишите параметры подключения, которые вы использовали при настройке экземпляра Postgres, так как они понадобятся при создании ClickPipe.