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

allow_aggregate_partitions_independently

Включает независимую агрегацию партиций в отдельных потоках, если ключ партиционирования соответствует ключу GROUP BY. Полезно, когда число партиций близко к числу ядер, а сами партиции имеют примерно одинаковый размер. Эвристики в ReadFromMergeTree автоматически отключают эту оптимизацию при неблагоприятной структуре (слишком мало партиций, слишком много партиций или размеры партиций сильно перекошены); чтобы обойти эти проверки, см. force_aggregate_partitions_independently.

allow_archive_path_syntax

Движки File/S3 и табличная функция будут разбирать пути с ’::’ как <archive> :: <file>, если у архива корректное расширение.

allow_asynchronous_read_from_io_pool_for_merge_tree

Использовать фоновый пул I/O для чтения из таблиц семейства MergeTree. Эта настройка может повысить производительность запросов, ограниченных пропускной способностью I/O

allow_calculating_subcolumns_sizes_for_merge_tree_reading

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

allow_changing_replica_until_first_data_packet

Если параметр включен, в хеджированных запросах можно устанавливать новое соединение до получения первого пакета данных, даже если уже был достигнут некоторый прогресс (но прогресс не обновлялся в течение тайм-аута receive_data_timeout); в противном случае смена реплики отключается после первого достижения прогресса.

allow_create_index_without_type

Разрешает выполнение запроса CREATE INDEX без TYPE. Запрос будет проигнорирован. Предназначено для тестов совместимости с SQL.

allow_custom_error_code_in_throwif

Разрешает использование пользовательского кода ошибки в функции throwIf(). Если значение true, сгенерированные исключения могут иметь неожиданные коды ошибок.

allow_ddl

Если установлено значение true, пользователю разрешается выполнять DDL-запросы.

allow_delta_kernel_rs

Псевдонимы: allow_experimental_delta_kernel_rs Разрешает использовать реализацию delta-kernel-rs для чтения таблиц Delta Lake.

allow_distinct_partitions_independently

Включает независимую обработку DISTINCT в каждой партиции в отдельных потоках, когда выражение партиционирования является детерминированной функцией от столбцов DISTINCT, без слияния между потоками. Это полезно, когда число партиций близко к числу ядер, а размеры партиций примерно одинаковы; в противном случае эвристика стоимости не применяет эту оптимизацию. См. max_number_of_partitions_for_independent_distinct и force_distinct_partitions_independently. Не применяется с FINAL или параллельными репликами. Не применяется, если задано max_rows_in_distinct или max_bytes_in_distinct: эти ограничения применяются единственным преобразованием DISTINCT, которое обрабатывает весь объединённый результат, поэтому слияние между потоками сохраняется, чтобы обеспечить их глобальное действие.

allow_distributed_ddl

Если установлено значение true, пользователю разрешено выполнять распределённые DDL-запросы.

allow_drop_detached

Разрешает запросы ALTER TABLE … DROP DETACHED PART[ITION] …

allow_dynamic_type_in_join_keys

Разрешает использовать тип Dynamic в ключах JOIN. Добавлено для совместимости. Не рекомендуется использовать тип Dynamic в ключах JOIN, поскольку сравнение с другими типами может приводить к неожиданным результатам.

allow_execute_multiif_columnar

Разрешает выполнять функцию multiIf в столбцовом режиме

allow_fuzz_query_functions

Включает функцию fuzzQuery, которая применяет к строке запроса случайные мутации AST.

allow_general_join_planning

Разрешает использовать более универсальный алгоритм планирования JOIN, способный обрабатывать более сложные условия, но работающий только с hash join. Если hash join не включен, то независимо от значения этой настройки используется обычный алгоритм планирования JOIN.

allow_get_client_http_header

Разрешает использовать функцию getClientHTTPHeader, которая позволяет получать значение заголовка текущего HTTP request. По соображениям безопасности эта возможность по умолчанию отключена, поскольку некоторые заголовки, например Cookie, могут содержать конфиденциальную информацию. Обратите внимание, что заголовки X-ClickHouse-*, Authentication и Authorization всегда недоступны и не могут быть получены с помощью этой функции.

allow_hyperscan

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

allow_iceberg_remove_orphan_files

Разрешает использовать ALTER TABLE ... EXECUTE remove_orphan_files() для таблиц Iceberg.

allow_insert_into_iceberg

Псевдонимы: allow_experimental_insert_into_iceberg Разрешает выполнять запросы insert в Iceberg.

allow_introspection_functions

Включает или отключает функции интроспекции при профилировании запросов. Возможные значения:
  • 1 — функции интроспекции включены.
  • 0 — функции интроспекции отключены.
См. также

allow_key_condition_coalesce_rewrite

Переписывает предикаты вида coalesce(a_1, ..., a_N) <op> const (и аналогично для ifNull, а также с константой слева) в дизъюнкцию (a_1 <op> const) OR (a_1 IS NULL AND a_2 <op> const) OR ... OR (a_1 IS NULL AND ... AND a_{N-1} IS NULL AND a_N <op> const) перед анализом индексов, чтобы можно было использовать первичный ключ по каждому столбцу и индексы пропуска данных для каждого a_i. Обрабатываются формы с частично константными аргументами, такие как coalesce(a, 42, b) и coalesce(a, b, 42): список аргументов нормализуется так же, как в самом coalesce (литералы NULL отбрасываются, аргументы после первого не-Nullable отбрасываются), а завершающая константа, отличная от NULL, если она есть, добавляется как последняя ветвь. Переписывание исключительно расширяет возможности отсечения данных по индексам; при выполнении запроса по-прежнему используется исходный предикат. Кроме того, предикаты точного равенства вида nullIf(key, sentinel) = const (где sentinel != const и типы полностью совпадают) переписываются в key = const, чтобы первичный ключ, партиция и индексы пропуска данных по key могли напрямую отсекать гранулы. Отсечение гранул для диапазонных и дизъюнктивных условий с nullIf не поддерживается.

allow_limit_by_partitions_independently

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

allow_lossy_numeric_supertype

Когда настройка включена, if/multiIf/coalesce/ifNull/array/map с набором числовых аргументов, не имеющих общего типа без потери точности (например, Decimal и Float64 или Int64 и Float64), вместо ошибки приводятся к числовому супертипу (Float64) с возможной потерей точности. Это позволяет напрямую использовать результат с агрегатными функциями, объединяющими значения, такими как sum, avg, min и max. Настройка не зависит от use_variant_as_common_type: числовой супертип создаётся независимо от того, включён ли use_variant_as_common_type. Когда настройка отключена (по умолчанию), такие наборы аргументов не имеют общего типа: они либо становятся Variant (если включён use_variant_as_common_type), либо вызывают ошибку NO_COMMON_TYPE.

allow_materialized_view_with_bad_select

Разрешает CREATE MATERIALIZED VIEW с SELECT-запросом, который ссылается на несуществующие таблицы или столбцы. При этом запрос всё равно должен быть синтаксически корректным. Не применяется к обновляемым MV. Не применяется, если схему MV нужно определить по SELECT-запросу (то есть если в CREATE нет списка столбцов и нет TO table). Может использоваться для создания MV до создания её исходной таблицы.

allow_minmax_index_for_json

Разрешает создавать индексы пропуска данных minmax для столбцов JSON (Object). По умолчанию отключено, поскольку путь сериализации индекса minmax не может обрабатывать неоднородные значения Field, которые могут содержаться в JSON-столбцах.

allow_named_collection_override_by_default

По умолчанию разрешает переопределение полей именованных коллекций.

allow_non_metadata_alters

Разрешает выполнять ALTER-запросы, которые затрагивают не только метаданные таблиц, но и данные на диске

allow_nonconst_timezone_arguments

Разрешает использовать неконстантные аргументы часового пояса в некоторых функциях, связанных со временем, таких как toTimeZone(), fromUnixTimestamp*(), snowflakeIDToDateTime*(). Этот параметр существует исключительно для совместимости. В ClickHouse часовой пояс — это свойство типа данных, а значит, и столбца. Включение этого параметра создаёт ложное впечатление, что разные значения в одном столбце могут иметь разные часовые пояса. Поэтому, пожалуйста, не включайте этот параметр.

allow_nullable_tuple_in_extracted_subcolumns

Определяет, могут ли извлечённые подстолбцы типа Tuple(...) иметь тип Nullable(Tuple(...)).
  • false: Возвращает Tuple(...) и использует значения кортежа по умолчанию для строк, в которых подстолбец отсутствует.
  • true: Возвращает Nullable(Tuple(...)) и использует NULL для строк, в которых подстолбец отсутствует.
Эта настройка управляет только поведением извлечённых подстолбцов. Она не определяет, можно ли создавать в таблицах столбцы Nullable(Tuple(...)); это регулируется параметром enable_nullable_tuple_type. ClickHouse использует значение этой настройки, загруженное при запуске сервера. Изменения, внесённые с помощью SET или SETTINGS на уровне запроса, не меняют поведение извлечённых подстолбцов. Чтобы изменить поведение извлечённых подстолбцов, обновите allow_nullable_tuple_in_extracted_subcolumns в конфигурации профиля запуска (например, в users.xml) и перезапустите сервер.

allow_rank_dense_rank_arguments

Разрешает передавать аргументы в оконные функции RANK и DENSE_RANK для обратной совместимости. Согласно стандарту SQL, RANK и DENSE_RANK не принимают аргументов — они ранжируют строки только по окну OVER (ORDER BY ...). В версиях ClickHouse до 26.5 запросы вида RANK(x) OVER (...) молча принимали и игнорировали аргумент, что приводило к путанице у пользователей (наличие аргумента создавало впечатление, что он влияет на ранжирование, хотя это было не так). Когда эта настройка имеет значение false (по умолчанию), RANK и DENSE_RANK отклоняют любые аргументы и генерируют ошибку NUMBER_OF_ARGUMENTS_DOESNT_MATCH. Если установить значение true, восстанавливается прежнее более мягкое поведение — аргументы молча игнорируются, как и до версии 26.5.

allow_reorder_prewhere_conditions

При перемещении условий из WHERE в PREWHERE разрешает менять их порядок для оптимизации фильтрации

allow_replace_partition_from_empty_source

Разрешает ALTER TABLE ... REPLACE PARTITION ... FROM ... молча удалять партицию пункта назначения, если в источнике нет частей в этой партиции. По умолчанию это запрещено: REPLACE PARTITION из источника, в котором нет данных в запрошенной партиции, вызывает исключение, поскольку в таком случае операция фактически превращается в молчаливый DROP PARTITION для пункта назначения (данные в партиции пункта назначения удаляются, но взамен ничего не записывается), что нередко приводит к случайной потере данных (см. #23727). Включите эту настройку, чтобы вернуть прежнее поведение, например если вы намеренно используете пустую исходную партицию для очистки данных в пункте назначения. Если нужно просто удалить партицию без дополнительных условий, предпочтительнее использовать ALTER TABLE ... DROP PARTITION ....

allow_settings_after_format_in_insert

Управляет тем, разрешён ли SETTINGS после FORMAT в INSERT-запросах. Использовать это не рекомендуется, поскольку часть SETTINGS может быть интерпретирована как значения. Пример:
Но следующий запрос будет работать только при включённой настройке allow_settings_after_format_in_insert:
Возможные значения:
  • 0 — Запрещено.
  • 1 — Разрешено.
Используйте эту настройку только для обратной совместимости, если ваши сценарии зависят от старого синтаксиса.

allow_simdjson

Разрешает использовать библиотеку simdjson в функциях ‘JSON*’, если доступны инструкции AVX2. Если параметр отключен, будет использоваться rapidjson.

allow_special_serialization_kinds_in_output_formats

Позволяет выводить столбцы со специальными видами сериализации, такими как Sparse и Replicated, без преобразования их в полные столбцы. Это помогает избежать лишнего копирования данных при форматировании.

allow_unrestricted_reads_from_keeper

Разрешает неограниченное чтение (без условия по path) из таблицы system.zookeeper; может быть удобно, но небезопасно для ZooKeeper
Последнее изменение 14 августа 2026 г.