Skip to main content
Эти настройки доступны в system.settings и автоматически генерируются на основе исходного кода.

add_http_cors_header

Добавляет HTTP-заголовок CORS.

analyze_index_with_space_filling_curves

Если в индексе таблицы используется пространственно-заполняющая кривая, например ORDER BY mortonEncode(x, y) или ORDER BY hilbertEncode(x, y), и запрос содержит условия для её аргументов, например x >= 10 AND x <= 20 AND y >= 20 AND y <= 30, используйте пространственно-заполняющую кривую для анализа индекса.

analyzer_inline_views

Если включено, анализатор подставляет обычные (нематериализованные, непараметризованные) представления их определяющими подзапросами, что позволяет применять оптимизации поверх границ представлений, такие как pushdown предикатов и отсечение столбцов.

any_join_distinct_right_table_keys

Включает устаревшее поведение сервера ClickHouse в операциях ANY INNER|LEFT JOIN.
Используйте эту настройку только для обратной совместимости, если ваши сценарии использования зависят от устаревшего поведения JOIN.
Когда устаревшее поведение включено:
  • Результаты операций t1 ANY LEFT JOIN t2 и t2 ANY RIGHT JOIN t1 не совпадают, поскольку ClickHouse использует логику отображения ключей таблиц слева направо по схеме «многие к одному».
  • Результаты операций ANY INNER JOIN содержат все строки из левой таблицы, как и операции SEMI LEFT JOIN.
Когда устаревшее поведение отключено:
  • Результаты операций t1 ANY LEFT JOIN t2 и t2 ANY RIGHT JOIN t1 совпадают, поскольку ClickHouse использует логику, обеспечивающую отображение ключей по схеме «один ко многим» в операциях ANY RIGHT JOIN.
  • Результаты операций ANY INNER JOIN содержат по одной строке на каждый ключ из левой и правой таблиц.
Возможные значения:
  • 0 — Устаревшее поведение отключено.
  • 1 — Устаревшее поведение включено.
См. также:

archive_adaptive_buffer_max_size_bytes

Ограничивает максимальный размер адаптивного буфера, используемого при записи в архивы (например, tar-архивы

arrow_flight_request_descriptor_type

Тип дескриптора для запросов Arrow Flight. ‘path’ отправляет имя набора данных как дескриптор PATH. ‘command’ отправляет SQL-запрос как дескриптор команды (требуется для Dremio). Возможные значения:
  • ‘path’ — Использовать FlightDescriptor::Path (по умолчанию; работает с большинством серверов Arrow Flight)
  • ‘command’ — Использовать FlightDescriptor::Command с запросом SELECT (требуется для Dremio)

backup_slow_all_threads_after_retryable_s3_error

Если установлено значение true, все потоки, выполняющие S3-запросы к одной и той же конечной точке резервного копирования, замедляются после того, как любой S3-запрос сталкивается с ошибкой S3, допускающей повторную попытку, например ‘Slow Down’. Если установлено значение false, каждый поток обрабатывает задержку S3-запросов независимо от остальных.

cache_warmer_threads

Действует только в ClickHouse Cloud. Количество фоновых потоков для упреждающей загрузки новых частей данных в файловый кэш, если включен параметр cache_populated_by_fetch. 0 — отключить.

calculate_text_stack_trace

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

cancel_http_readonly_queries_on_client_close

Отменяет HTTP-запросы только для чтения (например, SELECT), если клиент закрывает соединение, не дожидаясь ответа. значение по умолчанию в Cloud: 1.

checksum_on_read

Проверяет контрольные суммы при чтении. Этот параметр включен по умолчанию и в продакшне должен быть включен всегда. Не стоит ожидать какой-либо выгоды от отключения этого параметра. Его можно использовать только для экспериментов и бенчмарков. Параметр применим только к таблицам семейства MergeTree. Для других движков таблиц и при получении данных по сети контрольные суммы проверяются всегда.

connection_pool_max_wait_ms

Время ожидания соединения в миллисекундах, если пул соединений переполнен. Возможные значения:
  • Положительное целое число.
  • 0 — бесконечный тайм-аут.

connections_with_failover_max_tries

Максимальное число попыток установить соединение с каждой репликой для движка таблицы Distributed.

convert_query_to_cnf

Если установлено значение true, запрос SELECT будет преобразован в конъюнктивную нормальную форму (CNF). В некоторых случаях запрос, переписанный в CNF, может выполняться быстрее (объяснение см. в этом issue на Github). Например, обратите внимание, что следующий запрос SELECT не изменяется (поведение по умолчанию):
Результат:
Давайте зададим convert_query_to_cnf значение true и посмотрим, что изменится:
Обратите внимание, что предложение WHERE переписано в CNF, но результирующий набор остаётся тем же — булева логика не изменилась:
Возможные значения: true, false

count_matches_stop_at_empty_match

Останавливать подсчёт, как только в функции countMatches шаблон регулярного выражения даёт совпадение нулевой длины.

cross_to_inner_join_rewrite

Использовать INNER JOIN вместо соединения через запятую/CROSS JOIN, если в предложении WHERE есть условия соединения. Значения: 0 — не переписывать, 1 — переписывать по возможности для соединения через запятую/CROSS JOIN, 2 — принудительно переписывать все соединения через запятую, CROSS JOIN — по возможности

data_type_default_nullable

Позволяет считать типы данных без явных модификаторов NULL or NOT NULL в определении столбца типом Nullable. Возможные значения:
  • 1 — Типы данных в определениях столбцов по умолчанию имеют тип Nullable.
  • 0 — Типы данных в определениях столбцов по умолчанию не имеют тип Nullable.

decimal_check_overflow

Проверять переполнение при арифметических операциях и сравнениях Decimal

deduplicate_blocks_in_dependent_materialized_views

Включает или отключает проверку дедупликации для materialized view, получающих данные из таблиц Replicated*. Возможные значения:
  • 0 — Отключено.
  • 1 — Включено.
Если параметр включен, ClickHouse выполняет дедупликацию блоков в materialized view, зависящих от таблиц Replicated*. Этот параметр полезен, чтобы materialized view не содержали дублирующихся данных, если операция вставки повторяется из-за сбоя. См. также

defer_partition_pruning_after_final

Когда параметр включен (по умолчанию), для запросов FINAL к таблицам, у которых столбцы ключа партиции не входят в ключ сортировки, отсечение партиций не выполняется. Это безопасное с точки зрения корректности поведение, добавленное в 26.3: FINAL может потребоваться выполнить дедупликацию строк с одинаковым первичным ключом, но находящихся в разных партициях, а отсечение партиций молча исключило бы такие строки из входных данных для дедупликации. Когда параметр отключен, отсечение партиций применяется даже с FINAL, что восстанавливает поведение до 26.3. Это может быть значительно быстрее для запросов с предикатами WHERE по столбцу партиции, но корректно только в тех случаях, когда строки с одинаковым первичным ключом не могут существовать в разных партициях — например, в таблицах журналов событий, где столбец партиции задается при вставке и никогда не изменяется. Этот параметр влияет только на партиционированные таблицы, у которых столбцы ключа партиции не входят в ключ сортировки; для остальных таблиц отсечение партиций применяется всегда. Возможные значения:
  • 0 — Применять отсечение партиций до FINAL (поведение до 26.3, быстрее, но в общем случае небезопасно).
  • 1 — Откладывать отсечение партиций до выполнения FINAL (по умолчанию, безопасно с точки зрения корректности).

describe_compact_output

Если установлено значение true, в результат запроса DESCRIBE включаются только имена столбцов и типы

диалект

Диалект, который будет использоваться для разбора запроса

discard_query_data

Если настройка включена, сервер не отправляет клиенту строки результата запроса. При этом запрос по-прежнему полностью выполняется и записывается в журнал на сервере, а клиент по-прежнему получает остальные пакеты. Используется для теневого трафика, бенчмарков и фаззинга. Не влияет на вторичные запросы. Действует только для собственного TCP-протокола.

distinct_overflow_mode

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

do_not_merge_across_partitions_select_final

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

dynamic_throw_on_type_mismatch

При применении функции к столбцу Dynamic со стандартной реализацией управляет тем, что происходит со строками, фактический тип которых несовместим с функцией:
  • true (по умолчанию) — сгенерировать исключение.
  • false — вместо этого возвращать NULL для таких строк.

enforce_strict_identifier_format

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

engine_url_skip_empty_files

Включает или отключает пропуск пустых файлов в таблицах движка URL. Возможные значения:
  • 0 — SELECT генерирует исключение, если пустой файл несовместим с запрошенным форматом.
  • 1 — SELECT возвращает пустой результат, если файл пуст.

exact_rows_before_limit

Если параметр включен, ClickHouse будет возвращать точное значение статистики rows_before_limit_at_least, но ценой того, что данные до LIMIT придется прочитать полностью

except_default_mode

Задает режим по умолчанию для запроса EXCEPT. Возможные значения: пустая строка, ‘ALL’, ‘DISTINCT’. Если значение пустое, запрос без режима сгенерирует исключение.

exclude_materialize_skip_indexes_on_insert

Исключает указанные индексы пропуска данных из построения и хранения при операциях INSERT. Исключённые индексы пропуска данных всё равно будут строиться и сохраняться при слиянии или явным запросом MATERIALIZE INDEX. Не имеет эффекта, если materialize_skip_indexes_on_insert равно false. Пример:

execute_exists_as_scalar_subquery

Выполнять некоррелированные подзапросы EXISTS как скалярные подзапросы. Как и для скалярных подзапросов, используется кэш, а к результату применяется свёртка констант. Значение по умолчанию в Cloud: 0.

explain_query_plan_default

Формат, используемый по умолчанию для EXPLAIN PLAN. Возможные значения:
  • pretty (значение по умолчанию с 26.7) — для actions, compact и pretty по умолчанию используется true, что даёт компактный, удобочитаемый план с аннотациями действий.
  • legacy — формат вывода до 26.7.
Если в операторе EXPLAIN явно указаны параметры actions, compact или pretty (например, EXPLAIN actions = 0, compact = 0, pretty = 0 SELECT ...), они всегда переопределяют эту настройку. Для EXPLAIN PLAN с json = 1 или distributed = 1 сохраняются прежние значения по умолчанию (legacy, до 26.7) независимо от этой настройки, если только actions, compact или pretty не заданы явно. Формат pretty не может представлять результаты JSON или распределённые планы по сегментам, поэтому эти режимы корректно отображаются только в формате legacy.

extract_key_value_pairs_max_pairs_per_row

Псевдонимы: extract_kvp_max_pairs_per_row Максимальное количество пар, которое может вернуть функция extractKeyValuePairs. Используется как защита от чрезмерного потребления памяти.

extremes

Определяет, нужно ли учитывать экстремальные значения (минимальные и максимальные значения в столбцах результата запроса). Принимает значения 0 или 1. По умолчанию — 0 (отключено). Подробнее см. в разделе «Экстремальные значения».

fallback_to_stale_replicas_for_distributed_queries

Принудительно отправляет запрос на устаревшую реплику, если актуальные данные недоступны. См. Репликация. ClickHouse выбирает наиболее подходящую из устаревших реплик таблицы. Используется при выполнении SELECT из distributed таблицы, указывающей на реплицируемые таблицы. По умолчанию: 1 (включено).

file_like_engine_default_partition_strategy

Стратегия партиционирования по умолчанию для file-like движков.

filesystem_prefetches_limit

Максимальное количество операций предварительного чтения. Ноль означает отсутствие ограничений. Если нужно ограничить количество операций предварительного чтения, рекомендуется использовать настройку filesystem_prefetches_max_memory_usage

final

Автоматически применяет модификатор FINAL ко всем таблицам в запросе, для которых применим FINAL, включая таблицы, участвующие в JOIN, таблицы в подзапросах, а также distributed таблицы. Возможные значения:
  • 0 - отключено
  • 1 - включено
Пример:

finalize_projection_parts_synchronously

Если настройка включена, части проекций финализируются синхронно во время INSERT, что снижает пиковое потребление памяти ценой уменьшения параллелизма загрузки в S3. По умолчанию выходной поток каждой проекции остаётся активным до тех пор, пока не будет финализирована вся часть (включая все проекции), что позволяет выполнять параллельно перекрывающиеся загрузки в S3, но увеличивает пиковое потребление памяти пропорционально числу проекций. Эта настройка влияет только на INSERT; слияния и мутации уже финализируют проекции синхронно.

flatten_nested

Задаёт формат данных для столбцов типа Nested. Возможные значения:
  • 1 — столбец Nested преобразуется в отдельные массивы.
  • 0 — столбец Nested остаётся единым массивом кортежей.
Использование Если для этой настройки установлено значение 0, можно использовать произвольный уровень вложенности. Примеры Запрос:
Результат:
Запрос:
Результат:

fsync_metadata

Включает или отключает fsync при записи файлов .sql. По умолчанию включено. Его имеет смысл отключить, если на сервере есть миллионы маленьких таблиц, которые постоянно создаются и удаляются.

functions_h3_default_if_invalid

Если false, функции h3, например h3CellAreaM2, генерируют исключение при недопустимых входных данных. Если true, они возвращают 0 или значение по умолчанию.

geo_distance_returns_float64_on_float64_arguments

Если все четыре аргумента функций geoDistance, greatCircleDistance, greatCircleAngle имеют тип Float64, то возвращается Float64, а для внутренних вычислений используется двойная точность. В предыдущих версиях ClickHouse эти функции всегда возвращали Float32.

geotoh3_argument_order

Функция ‘geoToH3’ принимает (lon, lat), если установлено значение ‘lon_lat’, и (lat, lon), если установлено значение ‘lat_lon’.

glob_expansion_max_elements

Максимальное количество разрешённых адресов (для внешних хранилищ, табличных функций и т. д.).

h3togeo_lon_lat_result_order

Функция ‘h3ToGeo’ возвращает (lon, lat), если установлено значение true, иначе — (lat, lon).

handshake_timeout_ms

Тайм-аут в миллисекундах на получение пакета Hello от реплик во время рукопожатия.

hedged_connection_timeout_ms

Тайм-аут на установление соединения с репликой для Hedged requests

highlight_max_matches_per_row

Задаёт максимальное количество совпадений подсветки на строку в функции highlight. Используйте её, чтобы предотвратить чрезмерное использование памяти при подсветке часто повторяющихся шаблонов в больших текстах. Возможные значения:
  • Положительное целое число.
Размер динамического списка кандидатов при поиске по индексу векторного сходства, также называемый ef_search.

hsts_max_age

Время действия HSTS. Значение 0 отключает HSTS.

idle_connection_timeout

Тайм-аут закрытия бездействующих TCP-соединений по истечении указанного количества секунд. Возможные значения:
  • Положительное целое число (0 — закрыть немедленно, через 0 секунд).

inject_random_order_for_select_without_order_by

Если включено, добавляет ‘ORDER BY rand()’ в SELECT-запросы без предложения ORDER BY. Применяется только при глубине подзапроса = 0. Подзапросы и INSERT INTO … SELECT не затрагиваются. Если конструкция верхнего уровня — UNION, ‘ORDER BY rand()’ добавляется во все дочерние части независимо. Полезно только для тестирования и разработки (отсутствие ORDER BY — источник недетерминированных результатов запроса).

interactive_delay

Интервал в микросекундах для проверки отмены выполнения запроса и отправки Прогресса.

intersect_default_mode

Задаёт режим по умолчанию для запроса INTERSECT. Возможные значения: пустая строка, ‘ALL’, ‘DISTINCT’. Если указана пустая строка, запрос без режима сгенерирует исключение.

least_greatest_legacy_null_behavior

Если включено, функции ‘least’ и ‘greatest’ возвращают NULL, если один из аргументов равен NULL.

legacy_column_name_of_tuple_literal

Использует в именах столбцов больших литералов Tuple имена всех элементов вместо хеша. Эта настройка существует только из соображений совместимости. Имеет смысл установить значение ‘true’ при выполнении rolling update кластера с версии ниже 21.7 на версию выше.

limit

Задаёт максимальное количество строк в результате запроса. Корректирует значение, заданное оператором LIMIT, так что ограничение, указанное в запросе, не может превышать значение, заданное этой настройкой. Возможные значения:
  • 0 — количество строк не ограничено.
  • Положительное целое число.

load_marks_asynchronously

Асинхронно загружать метки MergeTree Значение по умолчанию в Cloud: 1.

lock_acquire_timeout

Определяет, сколько секунд запрос на блокировку ожидает, прежде чем завершиться ошибкой. Тайм-аут блокировки используется для защиты от взаимных блокировок при выполнении операций чтения и записи в таблицах. Когда время ожидания истекает и запрос на блокировку завершается ошибкой, сервер ClickHouse генерирует исключение “Locking attempt timed out! Possible deadlock avoided. Client should retry.” с кодом ошибки DEADLOCK_AVOIDED. Возможные значения:
  • Положительное целое число (в секундах).
  • 0 — тайм-аут блокировки отсутствует.

low_priority_query_wait_time_ms

Когда используется механизм приоритизации запросов (см. настройку priority), запросы с низким приоритетом ждут завершения запросов с более высоким приоритетом. Эта настройка указывает время ожидания.

make_distributed_plan

Формирует распределённый план запроса.

merge_table_max_tables_to_look_for_schema_inference

При создании таблицы Merge без явного указания схемы или при использовании табличной функции merge схема определяется как объединение не более указанного количества подходящих таблиц. Если таблиц больше, схема будет определена по первым таблицам в указанном количестве.

mongodb_throw_on_unsupported_query

Если параметр включен, таблицы MongoDB возвращают ошибку, когда не удается сформировать запрос MongoDB. В противном случае ClickHouse читает всю таблицу и обрабатывает ее локально. Этот параметр не действует, если allow_experimental_analyzer=0.

multiple_joins_try_to_keep_original_names

Не добавлять псевдонимы в список выражений верхнего уровня при переписывании запроса с несколькими JOIN

normalize_function_names

Приводить имена функций к каноническому виду

offset

Задаёт количество строк, которые нужно пропустить перед тем, как запрос начнёт возвращать строки. Корректирует смещение, заданное оператором OFFSET, поэтому эти два значения суммируются. Возможные значения:
  • 0 — строки не пропускаются.
  • Положительное целое число.
Пример Входная таблица:
Запрос:
Результат:

paimon_target_snapshot_id

Чтение указанного снимка на уровне запроса для инкрементального режима Paimon. Если значение >0, модуль чтения будет получать только дельту для указанного snapshot_id, не продвигая зафиксированную водяную метку. По умолчанию: -1 (отключено)

parallelize_output_from_storages

Распараллеливает вывод на этапе чтения из хранилища. Позволяет, где это возможно, распараллеливать обработку запроса сразу после чтения из хранилища

partial_result_on_first_cancel

Позволяет запросу вернуть частичный результат после отмены.

per_part_index_stats

Записывает в журнал статистику индекса по каждой части

poll_interval

Блокирует сервер в цикле ожидания запроса на указанное количество секунд.

polyglot_dialect

Исходный диалект SQL для транспайлера polyglot (например, ‘sqlite’, ‘mysql’, ‘postgresql’, ‘snowflake’, ‘duckdb’).

postgresql_fault_injection_probability

Приблизительная вероятность сбоя при выполнении внутренних запросов PostgreSQL (для репликации). Допустимое значение — в интервале [0.0f, 1.0f]

predicate_statistics_sample_rate

Собирает статистику селективности предикатов в system.predicate_statistics_log. Если установлено значение N > 0, выборка включает примерно 1/N запросов (по Query id). 0 означает, что сбор отключён.

prefetch_buffer_size

Максимальный размер буфера предвыборки для чтения из файловой системы. Значения свыше 256 МиБ принудительно ограничиваются до 256 МиБ, так как буфер чтения не требует большего размера. Позволяет выводить имена глубоко вложенных типов в удобочитаемом виде с отступами в запросе DESCRIBE и функции toTypeName(). Пример:

priority

Приоритет запроса. 1 — наивысший приоритет, большее значение — более низкий приоритет; 0 — приоритеты не используются.

push_external_roles_in_interserver_queries

Включает передачу ролей пользователя от узла-инициатора на другие узлы во время выполнения запроса.

query_metric_log_interval

Интервал в миллисекундах, с которым собираются данные query_metric_log для отдельных запросов. Если задано любое отрицательное значение, используется значение collect_interval_milliseconds из настройки query_metric_log, а если оно отсутствует — значение 1000 по умолчанию. Чтобы отключить сбор данных для отдельного запроса, установите query_metric_log_interval в 0. Значение по умолчанию: -1

queue_max_wait_ms

Время ожидания в очереди запросов, если число одновременных запросов превышает максимальное.

rabbitmq_max_wait_ms

Время ожидания при чтении из RabbitMQ перед повторной попыткой.

readonly

0 — ограничений режима «только для чтения» нет. 1 — только запросы на чтение, а также изменение явно разрешённых настроек. 2 — только запросы на чтение, а также изменение настроек, кроме настройки ‘readonly’.

recursive_cte_max_steps_in_type_inference

Максимальное количество итераций для определения типов столбцов в рекурсивных CTE. Типы столбцов определяются итеративным применением getLeastSupertype к нерекурсивной и рекурсивной частям UNION ALL до достижения сходимости. Установите 0, чтобы отключить расширение типов и использовать только типы из нерекурсивной части.

regexp_max_matches_per_row

Устанавливает максимальное число совпадений одного регулярного выражения для одной строки. Используйте эту настройку, чтобы предотвратить переполнение памяти при использовании жадного регулярного выражения в функции extractAllGroupsHorizontal. Возможные значения:
  • Положительное целое число.

reject_expensive_hyperscan_regexps

Отклонять шаблоны, проверка которых с помощью hyperscan, вероятно, потребует больших затрат ресурсов (из-за взрывного роста числа состояний NFA)

remerge_sort_lowered_memory_bytes_ratio

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

remote_read_min_bytes_for_seek

Минимальное количество байт для удалённого чтения (url, s3), при котором выполняется seek вместо чтения с пропуском данных.

rename_files_after_processing

  • Тип: String
  • Значение по умолчанию: Пустая строка
Эта настройка позволяет задать шаблон переименования файлов, обработанных табличной функцией file. Если параметр задан, все файлы, прочитанные табличной функцией file, будут переименованы по указанному шаблону с плейсхолдерами, но только если их обработка завершилась успешно.

Плейсхолдеры

  • %a — Полное имя исходного файла (например, “sample.csv”).
  • %f — Имя исходного файла без расширения (например, “sample”).
  • %e — Расширение исходного файла с точкой (например, “.csv”).
  • %t — Временная метка (в микросекундах).
  • %% — Знак процента (”%”).

Пример

  • Опция: --rename_files_after_processing="processed_%f_%t%e"
  • Запрос: SELECT * FROM file('sample.csv')
Если файл sample.csv успешно прочитан, он будет переименован в processed_sample_1683473210851438.csv

replication_wait_for_inactive_replica_timeout

Указывает, сколько времени (в секундах) ждать, пока неактивные реплики выполнят запросы ALTER, OPTIMIZE или TRUNCATE. Возможные значения:
  • 0 — Не ждать.
  • Отрицательное целое число — Ждать неограниченно долго.
  • Положительное целое число — Количество секунд ожидания.

reserve_memory

Используется в планировании рабочих нагрузок. Минимальный объём оперативной памяти, резервируемый для выполнения запроса на одном сервере. Резервирование выполняется через иерархию WORKLOAD с использованием значения настройки запроса workload. Если для рабочей нагрузки недостаточно доступной памяти, запрос не запускается и остаётся в состоянии pending, пока резервирование не станет возможным. Значение 0 означает, что резервирование не выполняется. Эта настройка действует только в том случае, если создан ресурс MEMORY RESERVATION.

restore_replicated_merge_tree_to_shared_merge_tree

Заменяет движок таблицы ReplicatedMergeTree на SharedMergeTree при RESTORE. Значение по умолчанию в Cloud: 1.

result_overflow_mode

Определяет, что делать, если объём результата превышает одно из ограничений. Возможные значения:
  • throw: сгенерировать исключение (по умолчанию).
  • break: остановить выполнение запроса и вернуть частичный результат, как если бы исходные данные были исчерпаны.
Использование ‘break’ похоже на использование LIMIT. Break прерывает выполнение только на уровне блока. Это означает, что количество возвращённых строк будет больше, чем max_result_rows, кратно max_block_size и зависит от max_threads. Пример
Query
Result

rows_before_aggregation

Если включено, ClickHouse будет возвращать точное значение статистики rows_before_aggregation, которая показывает количество строк, прочитанных до агрегации

secondary_indices_enable_bulk_filtering

Включает алгоритм пакетной фильтрации для индексов. Предполагается, что он всегда эффективнее, но эта настройка оставлена для совместимости и дополнительного контроля.

select_sequential_consistency

Эта настройка работает по-разному в SharedMergeTree и ReplicatedMergeTree; подробнее о поведении select_sequential_consistency в SharedMergeTree см. в разделе SharedMergeTree consistency.
Включает или отключает последовательную согласованность для запросов SELECT. Требует, чтобы insert_quorum_parallel был отключен (по умолчанию он включен). Возможные значения:
  • 0 — отключено.
  • 1 — включено.
Использование Когда последовательная согласованность включена, ClickHouse позволяет клиенту выполнять запрос SELECT только на тех репликах, которые содержат данные из всех предыдущих запросов INSERT, выполненных с insert_quorum. Если клиент обращается к неполной реплике, ClickHouse выдаст исключение. Запрос SELECT не будет включать данные, которые еще не были записаны в кворум реплик. Когда insert_quorum_parallel включен (по умолчанию), select_sequential_consistency не работает. Это связано с тем, что параллельные запросы INSERT могут записываться в разные наборы кворумных реплик, поэтому нет гарантии, что одна реплика получит все записи. См. также:

session_timezone

Задаёт неявный часовой пояс для текущего сеанса или запроса. Неявный часовой пояс применяется к значениям типа DateTime/DateTime64, для которых часовой пояс явно не указан. Этот параметр имеет приоритет над неявным часовым поясом, глобально настроенным на уровне сервера. Значение ” (пустая строка) означает, что неявный часовой пояс текущего сеанса или запроса совпадает с часовым поясом сервера. Чтобы получить часовой пояс сеанса и часовой пояс сервера, можно использовать функции timeZone() и serverTimeZone(). Возможные значения:
  • Любое имя часового пояса из system.time_zones, например Europe/Berlin, UTC или Zulu
Примеры:
Назначьте внутреннему DateTime без явно заданного часового пояса часовой пояс сеанса ‘America/Denver’:
Не все функции, разбирающие DateTime/DateTime64, учитывают session_timezone. Это может приводить к трудноуловимым ошибкам. См. пример и пояснение ниже.
Это происходит из-за различий в конвейерах разбора:
  • toDateTime() без явно указанного часового пояса, используемая в первом запросе SELECT, учитывает настройку session_timezone и глобальный часовой пояс.
  • Во втором запросе значение DateTime разбирается из строки и наследует тип и часовой пояс существующего столбца d. Поэтому ни настройка session_timezone, ни глобальный часовой пояс не учитываются.
См. также

set_overflow_mode

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

single_join_prefer_left_table

Для одиночного JOIN при неоднозначности идентификатора использовать левую таблицу

skip_redundant_aliases_in_udf

Избыточные псевдонимы не используются (не подставляются) в пользовательских функциях, что упрощает их использование. Возможные значения:
  • 1 — Псевдонимы пропускаются (заменяются своими выражениями) в UDF.
  • 0 — Псевдонимы не пропускаются (не заменяются своими выражениями) в UDF.
Пример Разница между включенным и отключенным состоянием: Запрос:
Результат:
Запрос:
Результат:

sleep_after_receiving_query_ms

Время паузы после получения запроса в TCPHandler

snappy_mode

Управляет форматом передачи данных, используемым для сжатия snappy при универсальных путях файлового ввода-вывода, таких как file и url. HTTP Content-Encoding: snappy всегда использует формат framing и не учитывает эту настройку. Обратите внимание: необработанный блоковый формат snappy, создаваемый одним вызовом snappy::Compress (например, полезная нагрузка протокола Prometheus remote, обрабатываемая SnappyBasicReadBuffer), представляет собой отдельный формат передачи данных, специфичный для протокола, и не управляется этой настройкой. Возможные значения:
  • basic — блоковый формат Hadoop snappy. Совместим с файлами, которые Hadoop читает и записывает. Поддерживает и чтение, и запись.
  • framed — формат framing для Snappy, стандартный стриминг-формат, определённый Google. Поддерживает и чтение, и запись.

sort_overflow_mode

Определяет, что произойдёт, если количество строк, полученных перед сортировкой, превысит одно из ограничений. Возможные значения:
  • throw: сгенерировать исключение.
  • break: остановить выполнение запроса и вернуть частичный результат.

splitby_max_substrings_includes_remaining_string

Управляет тем, будет ли функция splitBy*() с аргументом max_substrings > 0 включать оставшуюся часть строки в последний элемент результирующего массива. Возможные значения:
  • 0 - Оставшаяся часть строки не будет включена в последний элемент результирующего массива.
  • 1 - Оставшаяся часть строки будет включена в последний элемент результирующего массива. Такое поведение соответствует функции split() в Spark и методу ‘string.split()’ в Python.

stop_refreshable_materialized_views_on_startup

При запуске сервера отключает планирование refreshable materialized views, как если бы была выполнена команда SYSTEM STOP VIEWS. Позже их можно вручную запустить с помощью SYSTEM START VIEWS или SYSTEM START VIEW <name>. Это также относится к вновь созданным представлениям. Не влияет на materialized views, не являющиеся refreshable.

tcp_keep_alive_timeout

Время в секундах, в течение которого соединение должно оставаться неактивным, прежде чем TCP начнет отправлять keepalive-пакеты

temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds

Время ожидания получения блокировки файлового кэша для резервирования места под временные данные

throw_if_no_data_to_insert

Разрешает или запрещает пустые INSERT-запросы; по умолчанию включена (при пустой вставке генерируется ошибка). Применяется только к INSERT-запросам, выполняемым через clickhouse-client или gRPC-интерфейс.

timeout_before_checking_execution_speed

Проверяет, не слишком ли низка скорость выполнения (не ниже min_execution_speed), по истечении указанного времени в секундах.

transfer_overflow_mode

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

transform_null_in

Включает сравнение значений NULL как равных для оператора IN. По умолчанию значения NULL сравнивать нельзя, поскольку NULL означает неопределённое значение. Поэтому сравнение expr = NULL всегда должно возвращать false. При включении этой настройки выражение NULL = NULL для оператора IN возвращает true. Возможные значения:
  • 0 — Сравнение значений NULL в операторе IN возвращает false.
  • 1 — Сравнение значений NULL в операторе IN возвращает true.
Пример Рассмотрим таблицу null_in:
Запрос:
Результат:
Запрос:
Результат:
См. также

traverse_shadow_remote_data_paths

Обходить замороженные данные (теневой каталог) наряду с данными самой таблицы при запросе system.remote_data_paths

union_default_mode

Задает режим объединения результатов SELECT-запросов. Эта настройка используется только при работе с UNION, если явно не указаны UNION ALL или UNION DISTINCT. Возможные значения:
  • 'DISTINCT' — ClickHouse выводит строки, полученные в результате объединения запросов, удаляя дублирующиеся строки.
  • 'ALL' — ClickHouse выводит все строки, полученные в результате объединения запросов, включая дублирующиеся строки.
  • '' — ClickHouse генерирует исключение при использовании UNION.
См. примеры в разделе UNION.

unique_key_max_encoded_size

Максимальный размер (в байтах) двоичного кодирования, сохраняющего порядок, для одной строки UNIQUE KEY.

unknown_packet_in_send_data

Отправлять неизвестный пакет вместо N-го пакета данных

variant_throw_on_type_mismatch

При применении функции к столбцу Variant с использованием реализации по умолчанию эта настройка определяет, что происходит со строками, фактический тип которых несовместим с функцией:
  • true (по умолчанию) — сгенерировать исключение.
  • false — вместо этого возвращать NULL для таких строк.

wait_changes_become_visible_after_commit_mode

Ожидать, пока закоммиченные изменения действительно станут видимыми в последнем снимке

рабочая нагрузка

Имя рабочей нагрузки, используемой для доступа к ресурсам

write_full_path_in_iceberg_metadata

Записывать полные пути (включая s3://) в файлы метаданных Iceberg.

zstd_window_log_max

Позволяет задать максимальный логарифм окна для ZSTD (не используется для семейства MergeTree)
Последнее изменение 24 июля 2026 г.