> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Управление синхронизацией Postgres ClickPipe

> Документация по управлению синхронизацией Postgres ClickPipe

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

В этом документе описано, как контролировать синхронизацию Postgres ClickPipe, когда ClickPipe находится в режиме **CDC (Running)**.

<div id="overview">
  ## Обзор
</div>

У ClickPipes для баз данных архитектура состоит из двух параллельных процессов — чтения из исходной базы данных и записи в целевую базу данных. Процесс чтения управляется конфигурацией синхронизации, которая определяет, как часто нужно считывать данные и какой объём данных следует считывать за один раз. Под «за один раз» здесь имеется в виду один батч, поскольку ClickPipe считывает и отправляет данные батчами.

Есть два основных способа управлять синхронизацией Postgres ClickPipe. ClickPipe начнёт отправлять данные, когда сработает один из параметров ниже.

<div id="interval">
  ### Интервал синхронизации
</div>

Интервал синхронизации пайпа — это время (в секундах), в течение которого ClickPipe получает записи из исходной базы данных. Время, необходимое для отправки полученных данных в ClickHouse, в этот интервал не входит.

По умолчанию используется значение **1 минута**.
Интервал синхронизации можно задать любым положительным целым числом, но рекомендуется устанавливать значение не меньше 10 секунд.

<div id="batch-size">
  ### Размер батча Pull
</div>

Размер батча Pull — это количество записей, которое ClickPipe извлекает из исходной базы данных за один батч. Под записями здесь подразумеваются операции вставки, обновления и удаления, выполняемые в таблицах, входящих в этот пайп.

Значение по умолчанию — **100,000** записей.
Безопасный максимум — 10 миллионов.

<div id="transactions">
  ### Исключение: длительные транзакции в исходной базе данных
</div>

Когда в исходной базе данных выполняется транзакция, ClickPipe ждет, пока не получит COMMIT этой транзакции, прежде чем продолжить работу. Это **имеет приоритет над** и интервалом синхронизации, и размером pull-батча.

<div id="configuring">
  ### Настройка параметров синхронизации
</div>

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

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/create_sync_settings.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=4d5a4cb7cb962ea6dc9ffd7fd6097efb" alt="Создание параметров синхронизации" size="md" width="902" height="654" data-path="images/integrations/data-ingestion/clickpipes/postgres/create_sync_settings.png" />

При редактировании существующего ClickPipe перейдите на вкладку **Настройки** пайпа, приостановите пайп, а затем нажмите здесь **Настроить**:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/edit_sync_button.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=553b3d87ab4d16adeaa83405b81dac91" alt="Кнопка редактирования параметров синхронизации" size="md" width="933" height="417" data-path="images/integrations/data-ingestion/clickpipes/postgres/edit_sync_button.png" />

Откроется выдвижная панель с параметрами синхронизации, где можно изменить интервал синхронизации и размер pull-батча:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/sync_settings_edit.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=1118aa8d50477192270bdba9459ac7a9" alt="Редактирование параметров синхронизации" size="md" width="598" height="588" data-path="images/integrations/data-ingestion/clickpipes/postgres/sync_settings_edit.png" />

<div id="tweaking">
  ### Настройка параметров синхронизации для сдерживания роста слота репликации
</div>

Разберём, как с помощью этих настроек работать с большим слотом репликации у CDC-пайпа.
Время отправки данных в ClickHouse не растёт линейно относительно времени их получения из исходной базы данных. Это можно использовать, чтобы уменьшить размер большого слота репликации.
Если одновременно увеличить интервал синхронизации и размер pull-батча, ClickPipe сможет за один раз забрать из исходной базы данных большой объём данных, а затем отправить его в ClickHouse.

<div id="monitoring">
  ### Мониторинг работы управления синхронизацией
</div>

Вы можете увидеть, сколько времени занимает каждый батч, в таблице **CDC Syncs** на вкладке **Метрики** в ClickPipe. Обратите внимание, что продолжительность здесь включает время отправки; кроме того, если новые строки не поступают, ClickPipe ждёт, и это время ожидания тоже включается в общую продолжительность.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/cdc_syncs.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=ff3c9cd9ee086da594319467da4d9854" alt="Таблица CDC Syncs" size="md" width="2428" height="626" data-path="images/integrations/data-ingestion/clickpipes/postgres/cdc_syncs.png" />
