Перейти к основному содержанию

Обзор

В разделе настроек ClickHouse предусмотрена возможность устанавливать ограничения на сложность запросов. Это помогает защититься от потенциально ресурсоёмких запросов, обеспечивая более безопасное и предсказуемое выполнение, особенно при использовании пользовательского интерфейса. Почти все ограничения применяются только к запросам SELECT, а при распределённой обработке запросов они применяются отдельно на каждом сервере. Как правило, ClickHouse проверяет ограничения только после полной обработки частей данных, а не для каждой строки. Это может привести к ситуации, когда ограничения нарушаются в процессе обработки части.

Настройки overflow_mode

Большинство ограничений также имеют параметр overflow_mode, который определяет, что происходит при превышении лимита, и может принимать одно из двух значений:
  • throw: сгенерировать исключение (по умолчанию).
  • break: остановить выполнение запроса и вернуть частичный результат, как если бы исходные данные были исчерпаны.

Настройки group_by_overflow_mode

У настройки group_by_overflow_mode также есть значение any:
  • any : продолжать агрегацию для ключей, уже попавших в набор, но не добавлять в него новые ключи.

Список настроек

Следующие настройки используются для задания ограничений на сложность запросов.
Ограничения на «максимальное количество чего-либо» могут иметь значение 0, что означает отсутствие ограничений.

Устаревшие настройки

Следующие настройки устарели.

max_pipeline_depth

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