> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Настройка ClickHouse Managed Postgres в качестве источника для ClickPipes

# Руководство по настройке источника ClickHouse Managed Postgres

[ClickHouse Managed Postgres](/docs/ru/products/managed-postgres/overview) — это полностью управляемый сервис Postgres в ClickHouse Cloud. Это самый быстрый в подключении к ClickPipes источник Postgres: логическая репликация включена на каждом инстансе, IP-адреса ClickPipes разрешены по умолчанию, а сведения о подключении находятся в той же консоли, что и ваш сервис ClickHouse.

Начать репликацию из инстанса ClickHouse Managed Postgres можно двумя способами. В обоих случаях создаётся обычный ClickPipe для Postgres, поэтому после запуска пайпа применимо всё, что описано в [документации по ClickPipe для Postgres](/docs/ru/integrations/clickpipes/postgres/index).

<h2 id="sync-to-clickhouse">
  Вариант 1: синхронизация в ClickHouse из сервиса Postgres
</h2>

Откройте свой сервис ClickHouse Managed Postgres в консоли ClickHouse Cloud и нажмите **Sync to ClickHouse** на боковой панели. Мастер автоматически заполнит соединение с источником и предложит выбрать целевой сервис ClickHouse, метод репликации и таблицы для репликации. Настраивать пользователя, публикацию или сеть не требуется.

Пошаговые инструкции см. в руководстве [Sync to ClickHouse](/docs/ru/products/managed-postgres/sync-to-clickhouse/clickpipes). Для репликации с низкой задержкой вы также можете выбрать [WalShadow](/docs/ru/products/managed-postgres/sync-to-clickhouse/walshadow) — нативный движок репликации, который выполняет чтение на уровне файловой системы; в настоящее время доступен в режиме закрытой предварительной версии.

<h2 id="clickpipes-source">
  Вариант 2: выбор ClickHouse Managed Postgres в качестве источника в ClickPipes
</h2>

Если вам удобнее начать со стороны пункта назначения, откройте свой сервис ClickHouse, перейдите в раздел **Data Sources** и выберите **ClickHouse Managed Postgres** в списке источников. Далее укажите сведения о подключении к вашему инстансу Postgres — так же, как и для любого другого источника Postgres.

<h3 id="connection-details">
  Сведения о подключении
</h3>

Откройте свой сервис ClickHouse Managed Postgres и нажмите **Connect**, чтобы посмотреть хост, порт, базу данных, пользователя и пароль. Используйте прямое подключение к Postgres, а не переключатель **via PgBouncer**: ClickPipes не поддерживает репликацию через PgBouncer или любой другой пул соединений. Подробнее см. в разделе [Connection](/docs/ru/products/managed-postgres/connection).

<h3 id="creating-a-user-with-permissions">
  Создание пользователя с разрешениями
</h3>

Подключиться можно под пользователем `postgres` по умолчанию. Для продакшна мы рекомендуем создать отдельного пользователя репликации с доступом только для чтения — точно так же, как для любого другого источника Postgres. Подключитесь к своему инстансу с помощью `psql` и выполните:

1. Создайте отдельного пользователя для ClickPipes:

   ```sql theme={null}
   CREATE USER clickpipes_user PASSWORD 'some-password';
   ```

2. Предоставьте пользователю доступ только для чтения на уровне схемы. В примере ниже показаны разрешения для схемы `public`. Повторите эти команды для каждой схемы, содержащей таблицы, которые нужно реплицировать:

   ```sql theme={null}
   GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
   GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
   ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
   ```

3. Предоставьте пользователю привилегии репликации:

   ```sql theme={null}
   ALTER USER clickpipes_user WITH REPLICATION;
   ```

4. Создайте [публикацию](https://www.postgresql.org/docs/current/logical-replication-publication.html) с таблицами, которые нужно реплицировать. Мы настоятельно рекомендуем включать в публикацию только необходимые таблицы, чтобы не создавать лишнюю нагрузку и не терять в performance.

<Warning>
  Для любой таблицы, включённой в публикацию, должен быть определён **primary key**, *либо* её **replica identity** должна быть설 настроена в значение `FULL`. Рекомендации по определению состава публикации см. в [Postgres FAQ](/docs/ru/integrations/clickpipes/postgres/faq#how-should-i-scope-my-publications-when-setting-up-replication).
</Warning>

* Чтобы создать публикацию для определённых таблиц:

  ```sql theme={null}
  CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
  ```

  * Чтобы создать публикацию для всех таблиц в определённой схеме:

    ```sql theme={null}
    CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
    ```

<h3 id="logical-replication">
  логическая репликация
</h3>

логическая репликация уже включена на каждом инстансе ClickHouse Managed Postgres. Настройку `wal_level` или parameter group менять не нужно. Проверить это можно так:

```sql theme={null}
SHOW wal_level; -- should be logical
```

<h3 id="network-access">
  Сетевой доступ
</h3>

ClickHouse Managed Postgres по умолчанию принимает подключения от ClickPipes. Если для вашего сервиса Postgres настроены [IP-фильтры](/docs/ru/products/managed-postgres/security#ip-whitelisting), добавьте в список разрешённых [статические IP-адреса ClickPipes](/docs/ru/integrations/clickpipes/networking/static-ips) для региона вашего **сервиса ClickHouse**.

<h3 id="tls">
  TLS
</h3>

Инстансы ClickHouse Managed Postgres предъявляют сертификат, подписанный CA, который уникален для каждого инстанса и не является публично доверенным. ClickPipes по умолчанию проверяет сертификат, поэтому проверка подключения будет завершаться ошибкой, пока вы не выполните одно из следующих действий:

* Скачайте набор CA‑сертификатов на вкладке **Settings** вашего сервиса Postgres и загрузите его с помощью **Upload CA** в настройках подключения ClickPipe. Это рекомендуемый вариант. О том, где найти этот набор, см. [Verified TLS connection](/docs/ru/products/managed-postgres/connection#verified-tls).
* Включите **Skip certificate verification** в настройках подключения ClickPipe. Соединение останется зашифрованным, но подлинность сервера проверяться не будет.

Если вы создаёте пайп с помощью `clickhousectl`, получите набор сертификатов и передайте его через `--ca-certificate`:

```bash theme={null}
clickhousectl cloud postgres certs get <postgres-service-id> --output pg-ca.pem
```

<h2 id="whats-next">
  Что дальше?
</h2>

Теперь вы можете [создать ClickPipe](/docs/ru/integrations/clickpipes/postgres/index) и начать ингестию данных из вашего инстанса ClickHouse Managed Postgres в ClickHouse Cloud. Нативный CDC из ClickHouse Managed Postgres в ClickHouse предоставляется без дополнительной оплаты; подробнее см. в разделе [Pricing](/docs/ru/products/managed-postgres/pricing).
