Руководство по настройке источника данных RDS Postgres
Поддерживаемые версии Postgres
ClickPipes поддерживает Postgres версии 12 и новее.
Включите логическую репликацию
Вы можете пропустить этот раздел, если в экземпляре базы данных RDS уже настроены следующие параметры:
rds.logical_replication = 1wal_sender_timeout = 0
Как правило, эти параметры уже заданы, если вы ранее использовали другой инструмент репликации данных.
Если вы еще не настроили это, выполните следующие шаги:
- Создайте новую группу параметров для используемой версии Postgres со следующими настройками:
- Установите значение
rds.logical_replicationравным 1 - Установите значение
wal_sender_timeoutравным 0
- Установите значение



- Примените новую группу параметров к вашей базе данных RDS Postgres

- Перезапустите экземпляр RDS, чтобы применить изменения

Настройка пользователя базы данных
Подключитесь к вашему экземпляру RDS Postgres под учётной записью администратора и выполните следующие команды:
-
Создайте выделенного пользователя для ClickPipes:
-
Предоставьте пользователю, созданному на предыдущем шаге, права только на чтение на уровне схемы. В следующем примере показаны права для схемы
public. Повторите эти команды для каждой схемы, содержащей таблицы, которые вы хотите реплицировать: -
Предоставьте пользователю привилегии для репликации:
-
Создайте publication с таблицами, которые вы хотите реплицировать. Настоятельно рекомендуется включать в публикацию только необходимые таблицы, чтобы избежать лишних накладных расходов и деградации производительности.
ПримечаниеЛюбая таблица, включённая в публикацию, должна либо иметь определённый первичный ключ, либо для неё должна быть настроена replica identity со значением
FULL. См. раздел Postgres FAQs для рекомендаций по выбору области публикаций.-
Чтобы создать публикацию для конкретных таблиц:
-
Чтобы создать публикацию для всех таблиц в конкретной схеме:
Публикация
clickpipesбудет содержать набор событий об изменениях, сгенерированных из указанных таблиц, и в дальнейшем будет использоваться для приёма потока репликации. -
Настройка сетевого доступа
Контроль доступа на основе IP-адресов
Если вы хотите ограничить трафик к вашему экземпляру RDS, добавьте задокументированные статические IP-адреса NAT в Inbound rules вашей группы безопасности RDS.


Частный доступ через AWS PrivateLink
Чтобы подключаться к вашему экземпляру RDS через частную сеть, можно использовать AWS PrivateLink. Следуйте нашему руководству по настройке AWS PrivateLink для ClickPipes, чтобы настроить подключение.
Обходные решения для RDS Proxy
RDS Proxy не поддерживает подключения для логической репликации. Если у вас динамические IP-адреса в RDS и вы не можете использовать DNS-имя или функцию AWS Lambda, рассмотрите следующие альтернативы:
- С помощью cron-задачи периодически определяйте IP-адрес конечной точки RDS и обновляйте NLB, если он изменился.
- Использование RDS Event Notifications с EventBridge/SNS: автоматически инициируйте обновления с помощью уведомлений о событиях AWS RDS.
- Постоянно работающий экземпляр EC2: разверните экземпляр EC2, который будет выступать в роли сервиса опроса или прокси на основе IP-адресов.
- Автоматизируйте управление IP-адресами с помощью таких инструментов, как Terraform или CloudFormation.
Что дальше?
Теперь вы можете создать ClickPipe и начать приём данных из вашего экземпляра Postgres в ClickHouse Cloud. Обязательно сохраните параметры подключения, которые вы использовали при настройке этого экземпляра Postgres, — они понадобятся вам при создании ClickPipe.