С помощью ClickPipes вы можете организовать приём данных из исходной базы данных Postgres в ClickHouse Cloud. Исходной базой данных Postgres может быть ClickHouse Managed Postgres либо база данных, размещённая в собственной инфраструктуре или в облаке, в том числе в Amazon RDS, Google Cloud SQL, Azure Database for Postgres, Supabase и других.ClickPipes для Postgres можно развёртывать и управлять ими вручную через интерфейс ClickPipes, а также программно с помощью OpenAPI и Terraform.
Или отредактировать в разделе Connection settings на вкладке Settings приостановленного ClickPipe:

Где:После заполнения сведений о подключении нажмите “Next”.
Предварительные требования
Для начала убедитесь, что ваша база данных Postgres настроена правильно. В зависимости от используемого исходного экземпляра Postgres вы можете воспользоваться одним из следующих руководств:- ClickHouse Managed Postgres, где логическая репликация включена, а доступ для ClickPipes разрешён по умолчанию.
- Amazon RDS Postgres
- Amazon Aurora Postgres
- Supabase Postgres
- Google Cloud SQL Postgres
- Azure Flexible Server for Postgres
- Neon Postgres
- Crunchy Bridge Postgres
- Generic Postgres Source, если вы используете любого другого провайдера Postgres или самоуправляемый экземпляр.
- TimescaleDB, если вы используете расширение TimescaleDB в управляемом сервисе или самоуправляемом экземпляре.
Создание ClickPipe
Убедитесь, что вы вошли в свой аккаунт ClickHouse Cloud. Если аккаунта ещё нет, вы можете зарегистрироваться здесь.- В консоли ClickHouse Cloud перейдите к своему сервису ClickHouse Cloud.
- Нажмите кнопку
Data Sourcesв меню слева и выберите “Set up a ClickPipe”
-
Выберите плитку
Postgres CDC
Добавление подключения к исходной базе данных Postgres
- Укажите сведения о подключении к исходной базе данных Postgres, которую вы настроили на шаге с предварительными требованиями.
Перед тем как указывать сведения о подключении, убедитесь, что вы добавили IP-адреса ClickPipes в список разрешённых в правилах вашего файрвола. Список IP-адресов ClickPipes можно найти здесь.
Дополнительную информацию см. в руководствах по настройке исходного Postgres, ссылки на которые приведены в начале этой страницы.
(Опционально) Настройка AWS Private Link
Если ваша исходная база данных Postgres размещена в AWS, для подключения к ней можно использовать AWS Private Link. Это удобно, если вы хотите, чтобы передача данных оставалась приватной. Настроить подключение можно по руководству по настройке.(Опционально) Изменение настроек TLS
По умолчанию ваш ClickPipe создаётся с включённым TLS и проверкой сертификата. Эти параметры можно изменить при создании ClickPipe:


Disable TLSвключает или отключает TLS для соединения. Если TLS отключён, данные передаются по сети в открытом виде, включая потенциально учётные данные и другую конфиденциальную информацию.Skip certificate verificationвключает или отключает проверку сертификата, предоставленного исходной базой данных. Учитывайте риски для безопасности при отключении проверки сертификата.TLS Host(необязательно; по умолчанию используется исходный Host) — это hostname, с которым должен совпадать CN сертификата, если включена проверка сертификата.Upload CAиспользуется для загрузки CA, который применяется при включённой проверке сертификата.
(Необязательно) Настройка SSH-туннелирования
Если ваша исходная база данных Postgres недоступна публично, вы можете указать параметры SSH-туннелирования.- Включите переключатель “Use SSH Tunnelling”.
- Укажите сведения о подключении по SSH.
-
Чтобы использовать аутентификацию на основе ключей, нажмите “Revoke and generate key pair” для генерации новой пары ключей и скопируйте полученный открытый ключ на ваш SSH-сервер в файл
~/.ssh/authorized_keys. - Нажмите “Verify Connection”, чтобы проверить подключение.
Обязательно разрешите IP-адреса ClickPipes в правилах брандмауэра для хоста SSH-бастиона, чтобы ClickPipes мог установить SSH-туннель.
Настройка параметров репликации
- Обязательно выберите в выпадающем списке слот репликации, созданный вами на шаге предварительных требований.
Расширенная настройка
При необходимости вы можете выполнить расширенную настройку. Краткое описание каждой настройки приведено ниже:- Sync interval: интервал, с которым ClickPipes будет опрашивать исходную базу данных на предмет изменений. Это влияет на целевой сервис ClickHouse; пользователям, чувствительным к затратам, мы рекомендуем задавать более высокое значение (более
3600). - Parallel threads for initial load: количество параллельных воркеров, которые будут использоваться для получения первоначального снимка. Это полезно, когда у вас много таблиц и вы хотите контролировать число параллельных воркеров, используемых для получения первоначального снимка. Эта настройка применяется к каждой таблице.
- Pull batch size: количество строк, извлекаемых в одном батче. Это настройка по принципу «по возможности», и она может соблюдаться не во всех случаях.
- Snapshot number of rows per partition: количество строк, которые будут извлекаться в каждой партиции во время первоначального снимка. Это полезно, когда в ваших таблицах много строк и вы хотите контролировать количество строк, извлекаемых в каждой партиции.
- Snapshot number of tables in parallel: количество таблиц, которые будут извлекаться параллельно во время первоначального снимка. Это полезно, когда у вас много таблиц и вы хотите контролировать количество таблиц, извлекаемых параллельно.
Настройка таблиц
- Здесь вы можете выбрать базу данных назначения для вашего ClickPipe. Можно либо выбрать существующую базу данных, либо создать новую.
- Вы можете выбрать таблицы, которые хотите реплицировать из исходной базы данных Postgres. При выборе таблиц вы также можете переименовать их в целевой базе данных ClickHouse и исключить отдельные столбцы.
- Кроме того, вы можете задать пользовательское выражение
PARTITION BY <expr>для управления партиционированием целевой таблицы ClickHouse.
Проверьте разрешения и запустите ClickPipe
- Выберите роль “Full access” в выпадающем списке разрешений и нажмите “Complete Setup”.