> ## 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.

# Настройки сеанса max_*

> Настройки сеанса ClickHouse в автоматически сгенерированной группе max_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Тип</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>По умолчанию</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Изменяется без перезапуска
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Экспериментальная возможность. <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">Подробнее.</a></u>
        </div>;
};

Эти настройки доступны в [system.settings](/docs/ru/reference/system-tables/settings) и автоматически генерируются на основе [исходного кода](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="max_analyze_depth">
  ## max\_analyze\_depth
</div>

<SettingsInfoBlock type="UInt64" default_value="5000" />

Максимальное количество выполняемых интерпретатором анализов.

<div id="max_autoincrement_series">
  ## max\_autoincrement\_series
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "новая настройка"}]}]} />

Ограничение на количество серий, создаваемых функцией `generateSerialID`.

Поскольку каждая серия представляет собой узел в Keeper, не рекомендуется создавать более пары миллионов таких серий.

<div id="max_backup_bandwidth">
  ## max\_backup\_bandwidth
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимальная скорость чтения в байтах в секунду для конкретной резервной копии на сервере. Ноль означает отсутствие ограничений.

<div id="max_block_size">
  ## max\_block\_size
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="65409" />

В ClickHouse данные обрабатываются блоками, которые представляют собой наборы частей столбцов. Внутренние циклы обработки одного блока эффективны, но обработка каждого блока связана с заметными накладными расходами.

Настройка `max_block_size` задаёт рекомендуемое максимальное число строк в одном блоке при чтении данных из таблиц. Блоки размером `max_block_size` не всегда считываются из таблицы: если ClickHouse определяет, что нужно получить меньше данных, обрабатывается блок меньшего размера.

Размер блока не должен быть слишком маленьким, чтобы избежать заметных накладных расходов на обработку каждого блока. Но и слишком большим он тоже быть не должен, чтобы запросы с LIMIT выполнялись быстро после обработки первого блока. При настройке `max_block_size` следует стремиться не к чрезмерному расходу памяти при извлечении большого количества столбцов в нескольких потоках и сохранять хотя бы некоторую локальность кэша.

<div id="max_columns_to_read">
  ## max\_columns\_to\_read
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

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

<Tip>
  Эта настройка полезна для предотвращения слишком сложных запросов.
</Tip>

Значение `0` означает отсутствие ограничений.

<div id="max_compress_block_size">
  ## max\_compress\_block\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="1048576" />

Максимальный размер блоков несжатых данных перед их сжатием для записи в таблицу. По умолчанию — 1,048,576 (1 MiB). Указание меньшего размера блока обычно приводит к небольшому снижению коэффициента сжатия; при этом скорость сжатия и распаковки немного возрастает благодаря локальности кэша, а потребление памяти уменьшается.

<Note>
  Это настройка экспертного уровня, и вам не следует изменять её, если вы только начинаете работать с ClickHouse.
</Note>

Не путайте блоки для сжатия (фрагмент памяти, состоящий из байтов) с блоками для обработки запросов (набор строк из таблицы).

<div id="max_consume_snapshots">
  ## max\_consume\_snapshots
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Максимальное количество снимков Paimon, обрабатываемых за одно инкрементальное чтение. 0 означает, что ограничение отсутствует.

<div id="max_estimated_execution_time">
  ## max\_estimated\_execution\_time
</div>

<SettingsInfoBlock type="Секунды" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "Разделены max_execution_time и max_estimated_execution_time"}]}]} />

Максимальное оценочное время выполнения запроса в секундах. Проверяется для каждого блока данных
после истечения [`timeout_before_checking_execution_speed`](/docs/ru/reference/settings/session-settings/other#timeout_before_checking_execution_speed).

<div id="max_expanded_ast_elements">
  ## max\_expanded\_ast\_elements
</div>

<SettingsInfoBlock type="UInt64" default_value="500000" />

Максимальный размер синтаксического дерева запроса в узлах после раскрытия псевдонимов и символа «звёздочка».

<div id="max_fetch_partition_retries_count">
  ## max\_fetch\_partition\_retries\_count
</div>

<SettingsInfoBlock type="UInt64" default_value="5" />

Количество повторных попыток при получении партиции с другого хоста.

<div id="max_final_threads">
  ## max\_final\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="auto(N)" />

Задаёт максимальное количество параллельных потоков для фазы чтения данных в запросе `SELECT` с модификатором [FINAL](/docs/ru/reference/statements/select/from#final-modifier).

Возможные значения:

* Положительное целое число.
* 0 или 1 — отключено. Запросы `SELECT` выполняются в одном потоке.

<div id="max_http_get_redirects">
  ## max\_http\_get\_redirects
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимально допустимое число переходов по перенаправлениям HTTP GET. Обеспечивает дополнительную защиту от ситуации, когда вредоносный сервер перенаправляет ваши запросы к неожиданным сервисам.\n\nЭто возможно, когда внешний сервер перенаправляет на другой адрес, но этот адрес оказывается внутренним для инфраструктуры компании. В таком случае, отправив HTTP-запрос на внутренний сервер, вы можете обратиться к внутреннему API из внутренней сети, обойдя аутентификацию, или даже выполнить запрос к другим сервисам, таким как Redis или Memcached. Если у вас нет внутренней инфраструктуры (включая что-либо, работающее на вашем localhost) или вы доверяете серверу, перенаправления можно безопасно разрешить. Однако имейте в виду: если URL использует HTTP вместо HTTPS, вам придется доверять не только удаленному серверу, но и своему интернет-провайдеру, а также всем промежуточным сетям.

Значение по умолчанию в Cloud: `10`.

<div id="max_limit_for_vector_search_queries">
  ## max\_limit\_for\_vector\_search\_queries
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1000"},{"label": "новая настройка"}]}]} />

Запросы SELECT с LIMIT больше этого значения не могут использовать индексы векторного сходства. Это помогает предотвратить переполнение памяти в индексах векторного сходства.

<div id="max_number_of_partitions_for_independent_aggregation">
  ## max\_number\_of\_partitions\_for\_independent\_aggregation
</div>

<SettingsInfoBlock type="UInt64" default_value="128" />

Максимальное число партиций в таблице для применения оптимизации

<div id="max_os_cpu_wait_time_ratio_to_throw">
  ## max\_os\_cpu\_wait\_time\_ratio\_to\_throw
</div>

<SettingsInfoBlock type="Float" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "Значения настройки были изменены и бэкпортированы в 25.4"}]}, {"id": "row-2","items": [{"label": "25.4"},{"label": "0"},{"label": "новая настройка"}]}]} />

Максимальное соотношение между временем ожидания CPU ОС (метрика `OSCPUWaitMicroseconds`) и временем занятости CPU (метрика `OSCPUVirtualTimeMicroseconds`), при превышении которого запросы могут отклоняться. Для вычисления вероятности используется линейная интерполяция между минимальным и максимальным соотношением; при этом значении вероятность равна 1.

<div id="max_parallel_replicas">
  ## max\_parallel\_replicas
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "По умолчанию используется до 1000 параллельных реплик."}]}]} />

Максимальное количество реплик для каждого сегмента при выполнении запроса.

Возможные значения:

* Положительное целое число.

**Дополнительная информация**

Этот параметр может давать разные результаты в зависимости от используемых настроек.

<div id="parallel-processing-using-sample-key">
  ### Параллельная обработка с использованием ключа `SAMPLE`
</div>

Запрос может выполняться быстрее, если обрабатывается параллельно на нескольких серверах. Однако производительность запроса может снизиться в следующих случаях:

* Положение ключа выборки в ключе партиционирования не позволяет эффективно выполнять диапазонное сканирование.
* Добавление ключа выборки в таблицу снижает эффективность фильтрации по другим столбцам.
* Ключ выборки представляет собой выражение, вычисление которого требует значительных затрат.
* Распределение задержек в кластере имеет длинный хвост, поэтому выполнение запросов на большем числе серверов увеличивает их общую задержку.

<div id="parallel-processing-using-parallel_replicas_custom_keyreferencesettingssession-settingsparallel-replicasparallel_replicas_custom_key">
  ### Параллельная обработка с использованием [parallel\_replicas\_custom\_key](/docs/ru/reference/settings/session-settings/parallel-replicas#parallel_replicas_custom_key)
</div>

Этот параметр полезен для любой реплицируемой таблицы.

<div id="max_parsing_threads">
  ## max\_parsing\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="auto(N)" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "0"},{"label": "Добавлена отдельная настройка для управления числом потоков при параллельном разборе данных из файлов"}]}]} />

Максимальное число потоков для разбора данных во входных форматах, поддерживающих параллельный разбор. По умолчанию определяется автоматически.

<div id="max_partition_size_to_drop">
  ## max\_partition\_size\_to\_drop
</div>

<SettingsInfoBlock type="UInt64" default_value="50000000000" />

Ограничение на удаление партиций во время выполнения запроса. Значение `0` означает, что партиции можно удалять без каких-либо ограничений.

Значение по умолчанию в Cloud: 1 TB.

<Note>
  Эта настройка запроса переопределяет соответствующую настройку сервера, см. [max\_partition\_size\_to\_drop](/docs/ru/reference/settings/server-settings/settings#max_partition_size_to_drop)
</Note>

<div id="max_parts_to_move">
  ## max\_parts\_to\_move
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1000"},{"label": "Новая настройка"}]}]} />

Ограничивает число частей, которые можно переместить в рамках одного запроса. Ноль означает отсутствие ограничений.

<div id="max_projection_rows_to_use_projection_index">
  ## max\_projection\_rows\_to\_use\_projection\_index
</div>

<SettingsInfoBlock type="UInt64" default_value="1000000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1000000"},{"label": "новая настройка"}]}]} />

Если количество строк, которые нужно прочитать из индекса проекции, меньше или равно этому порогу, ClickHouse попытается использовать индекс проекции при выполнении запроса.

<div id="max_query_size">
  ## max\_query\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="262144" />

Максимальное количество байтов в строке запроса, разбираемой SQL parser.
Данные в предложении VALUES запросов INSERT обрабатываются отдельным потоковым parser (который потребляет O(1) оперативной памяти) и не подпадают под это ограничение.

<Note>
  `max_query_size` нельзя задать внутри SQL-запроса (например, `SELECT now() SETTINGS max_query_size=10000`), потому что ClickHouse нужно выделить буфер для разбора запроса, а размер этого буфера определяется настройкой `max_query_size`, которую необходимо настроить до выполнения запроса.
</Note>

<div id="max_recursive_cte_evaluation_depth">
  ## max\_recursive\_cte\_evaluation\_depth
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1000"},{"label": "Максимально допустимая глубина вычисления рекурсивного CTE"}]}]} />

Максимально допустимая глубина вычисления рекурсивного CTE

<div id="max_replica_delay_for_distributed_queries">
  ## max\_replica\_delay\_for\_distributed\_queries
</div>

<SettingsInfoBlock type="UInt64" default_value="300" />

Отключает отстающие реплики для распределённых запросов. См. [Репликация](/docs/ru/reference/engines/table-engines/mergetree-family/replication).

Задаёт время в секундах. Если отставание реплики больше или равно заданному значению, эта реплика не используется.

Возможные значения:

* Положительное целое число.
* 0 — Отставание реплик не проверяется.

Чтобы предотвратить использование любой реплики с ненулевым отставанием, установите этот параметр в 1.

Используется при выполнении `SELECT` из distributed таблицы, которая указывает на реплицированные таблицы.

<div id="max_reverse_dictionary_lookup_cache_size_bytes">
  ## max\_reverse\_dictionary\_lookup\_cache\_size\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="104857600" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "104857600"},{"label": "Новая настройка. Максимальный размер в байтах кэша обратного поиска в словаре для каждого запроса, используемого функцией `dictGetKeys`. Кэш хранит сериализованные кортежи ключей для каждого значения атрибута, чтобы избежать повторного сканирования словаря в рамках одного запроса."}]}]} />

Максимальный размер в байтах кэша обратного поиска в словаре для каждого запроса, используемого функцией `dictGetKeys`. Кэш хранит сериализованные кортежи ключей для каждого значения атрибута, чтобы избежать повторного сканирования словаря в рамках одного запроса. При достижении лимита записи вытесняются по алгоритму LRU. Установите 0, чтобы отключить кэширование.

<div id="max_sessions_for_user">
  ## max\_sessions\_for\_user
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимальное количество одновременных сеансов для каждого прошедшего аутентификацию пользователя на сервере ClickHouse.

Пример:

```xml theme={null}
<profiles>
    <single_session_profile>
        <max_sessions_for_user>1</max_sessions_for_user>
    </single_session_profile>
    <two_sessions_profile>
        <max_sessions_for_user>2</max_sessions_for_user>
    </two_sessions_profile>
    <unlimited_sessions_profile>
        <max_sessions_for_user>0</max_sessions_for_user>
    </unlimited_sessions_profile>
</profiles>
<users>
    <!-- User Alice can connect to a ClickHouse server no more than once at a time. -->
    <Alice>
        <profile>single_session_user</profile>
    </Alice>
    <!-- User Bob can use 2 simultaneous sessions. -->
    <Bob>
        <profile>two_sessions_profile</profile>
    </Bob>
    <!-- User Charles can use arbitrarily many of simultaneous sessions. -->
    <Charles>
        <profile>unlimited_sessions_profile</profile>
    </Charles>
</users>
```

Возможные значения:

* Положительное целое число
* `0` — неограниченное количество одновременных сеансов (по умолчанию)

<div id="max_subquery_depth">
  ## max\_subquery\_depth
</div>

<SettingsInfoBlock type="UInt64" default_value="100" />

Если запрос содержит больше указанного числа вложенных подзапросов, генерируется
исключение.

<Tip>
  Это позволяет выполнять проверку на разумность и защищает от чрезмерно сложных запросов со стороны пользователей вашего
  кластера.
</Tip>

<div id="max_table_size_to_drop">
  ## max\_table\_size\_to\_drop
</div>

<SettingsInfoBlock type="UInt64" default_value="50000000000" />

Ограничение на удаление таблиц во время выполнения запроса. Значение `0` означает, что можно удалять любые таблицы без ограничений.

Значение по умолчанию в Cloud: 1 ТБ.

<Note>
  Эта настройка запроса переопределяет соответствующую настройку сервера, см. [max\_table\_size\_to\_drop](/docs/ru/reference/settings/server-settings/settings#max_table_size_to_drop)
</Note>

<div id="max_untracked_memory">
  ## max\_untracked\_memory
</div>

<SettingsInfoBlock type="UInt64" default_value="4194304" />

Небольшие выделения и освобождения памяти группируются в локальной переменной потока и отслеживаются или профилируются только тогда, когда их объём (по абсолютной величине) превышает указанное значение. Если это значение больше, чем 'memory\_profiler\_step', оно фактически будет уменьшено до 'memory\_profiler\_step'.

<div id="max_wkb_geometry_elements">
  ## max\_wkb\_geometry\_elements
</div>

<SettingsInfoBlock type="UInt64" default_value="1000000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1000000"},{"label": "Новая настройка для ограничения количества элементов при разборе WKB-геометрии, предотвращающая чрезмерное выделение памяти на повреждённых данных."}]}]} />

Максимальное количество точек, колец или полигонов, допустимое в одном элементе WKB-геометрии при разборе функцией `readWKB` и связанными с ней функциями. Это защищает от чрезмерного выделения памяти из-за повреждённых данных WKB. Установите значение 0, чтобы использовать встроенное ограничение (100 миллионов).
