Руководство по настройке источника Google Cloud SQL Postgres
Если вы используете одного из поддерживаемых провайдеров (в боковом меню), обратитесь к соответствующему руководству по этому провайдеру.
Поддерживаемые версии Postgres
Все версии Postgres, начиная с 12
Включение логической репликации
Вам не нужно выполнять следующие шаги, если параметр cloudsql.logical_decoding установлен в значение on, а wal_sender_timeout равен 0. Эти параметры в большинстве случаев уже предварительно настроены, если вы мигрируете с другого инструмента репликации данных.
- Нажмите кнопку Edit на странице Overview.

- Перейдите в раздел Flags и установите
cloudsql.logical_decodingвon, аwal_sender_timeout— в0. Эти изменения потребуют перезапуска сервера Postgres.



Создание пользователя ClickPipes и выдача прав
Подключитесь к Cloud SQL Postgres под пользователем-администратором и выполните следующие команды:
-
Создайте отдельного пользователя для ClickPipes:
-
Предоставьте на уровне схемы права только на чтение пользователю, созданному на предыдущем шаге. В следующем примере показаны права для схемы
public. Повторите эти команды для каждой схемы, содержащей таблицы, которые вы хотите реплицировать: -
Выдайте пользователю права на репликацию:
-
Создайте публикацию с таблицами, которые вы хотите реплицировать. Настоятельно рекомендуется включать в публикацию только необходимые таблицы, чтобы избежать лишней нагрузки на производительность.
ПримечаниеДля любой таблицы, включённой в публикацию, должен быть определён первичный ключ или настроена replica identity со значением
FULL. См. раздел Postgres FAQs для рекомендаций по выбору области публикаций.-
Чтобы создать публикацию для конкретных таблиц:
-
Чтобы создать публикацию для всех таблиц в определённой схеме:
Публикация
clickpipesбудет содержать набор событий изменений, сгенерированных из указанных таблиц, и позже будет использоваться для приёма потока репликации. -
Добавьте IP-адреса ClickPipes в брандмауэр
Выполните следующие шаги, чтобы добавить IP-адреса ClickPipes в вашу сеть.
Если вы используете SSH-туннелирование, вам необходимо добавить IP-адреса ClickPipes в правила брандмауэра jump-сервера/бастиона.
- Перейдите в раздел Connections

- Перейдите в подраздел Networking

- Добавьте публичные IP-адреса ClickPipes


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