Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

настройки сеанса allow_*

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

allow_aggregate_partitions_independently

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
26.71По умолчанию включает независимую агрегацию по каждой партиции, если ключ партиционирования соответствует ключу GROUP BY. Существующие эвристики выполнения в `ReadFromMergeTree::requestOutputEachPartitionThroughSeparatePortForAggregation` уже пропускают эту оптимизацию, если структура партиций неблагоприятна (слишком мало партиций, слишком много партиций или размеры партиций сильно перекошены), поэтому включать эту настройку безопасно в случаях, когда иначе она не дала бы эффекта.

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

allow_archive_path_syntax

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
24.81Добавлена новая настройка, позволяющая отключить синтаксис путей к архивам.
24.51Добавлена новая настройка, позволяющая отключить синтаксис путей к архивам.

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

allow_asynchronous_read_from_io_pool_for_merge_tree

Тип
Bool
По умолчанию
0

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

allow_calculating_subcolumns_sizes_for_merge_tree_reading

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
26.31Разрешить вычисление размеров подстолбцов при чтении MergeTree для улучшения разбиения задач чтения

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

allow_changing_replica_until_first_data_packet

Тип
Bool
По умолчанию
0

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

allow_create_index_without_type

Тип
Bool
По умолчанию
0

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

allow_creating_set_partitions_independently

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
26.81Новая настройка, включающая параллельную предварительную дедупликацию результата подзапроса по партициям при построении множества для `IN (subquery)`, если выражение партиционирования является детерминированной функцией выходных столбцов подзапроса.

Включает параллельную предварительную дедупликацию результата подзапроса по партициям при построении множества для IN (subquery), если выражение партиционирования таблицы MergeTree в подзапросе является детерминированной функцией выходных столбцов подзапроса. Каждая партиция читается отдельным потоком и дедуплицируется независимо, поэтому единственное преобразование заполнения множества хеширует только уникальные строки. Не применяется с FINAL, параллельными репликами или GLOBAL IN. Оптимизация запрашивает чтение по партициям только если данные содержат более одной партиции, а наибольшая партиция содержит не более чем вдвое больше строк, чем средняя (см. force_creating_set_partitions_independently, чтобы обойти проверку неравномерности); если потоки уже разделены по партициям другой возможностью, работающей по партициям (например, LIMIT BY по партициям), предварительная дедупликация применяется в любом случае, поскольку структура чтения уже определена. Пока строится множество, таблицы дедупликации всех потоков вместе хранят примерно одну дополнительную копию уникальных ключей.

allow_custom_error_code_in_throwif

Тип
Bool
По умолчанию
0

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

allow_ddl

Тип
Bool
По умолчанию
1

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

allow_delta_kernel_rs

Возможность в статусе бета

Псевдонимы: allow_experimental_delta_kernel_rs

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
26.81Новое название `allow_experimental_delta_kernel_rs`, которая больше не является экспериментальной и сохранена в качестве псевдонима. Значение по умолчанию не изменилось.
25.51Новая настройка. Введена под именем `allow_experimental_delta_kernel_rs`, которое теперь является её псевдонимом; запись перенесена под каноническое имя, чтобы сохранить всю историю.

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

allow_distinct_partitions_independently

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
26.81Новая настройка для включения независимой обработки `DISTINCT` в каждой партиции, когда выражение партиционирования является детерминированной функцией от столбцов `DISTINCT`.

Включает независимую обработку 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

Тип
Bool
По умолчанию
1

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

allow_drop_detached

Тип
Bool
По умолчанию
0

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

allow_dynamic_type_in_join_keys

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
25.100Использование типа Dynamic в ключах JOIN по умолчанию запрещено

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

allow_execute_multiif_columnar

Тип
Bool
По умолчанию
1

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

allow_fuzz_query_functions

Экспериментальная возможность
Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.20Новая настройка для включения функции fuzzQuery.

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

allow_general_join_planning

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
25.11Разрешает использовать более универсальный алгоритм планирования JOIN, когда включен алгоритм hash join.

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

allow_get_client_http_header

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
24.30Добавлена новая функция.

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

allow_hyperscan

Тип
Bool
По умолчанию
1

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

allow_iceberg_remove_orphan_files

Экспериментальная возможность
Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.40Новая настройка, разрешающая удаление осиротевших файлов Iceberg

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

allow_insert_into_iceberg

Возможность в статусе бета

Псевдонимы: allow_experimental_insert_into_iceberg

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.20Вставка в Iceberg переведена в статус бета
25.70Новая настройка.

Разрешает выполнять запросы insert в Iceberg.

allow_introspection_functions

Тип
Bool
По умолчанию
0

Включает или отключает функции интроспекции при профилировании запросов.

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

  • 1 — функции интроспекции включены.
  • 0 — функции интроспекции отключены.

См. также

allow_key_condition_coalesce_rewrite

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
26.51Новая настройка для переписывания предикатов вида `coalesce(a_1, ..., a_N) <op> const` (и аналогично для `ifNull`, а также с константой слева) в дизъюнкцию перед анализом индексов, чтобы можно было использовать первичный ключ по каждому столбцу и индексы пропуска данных для каждого `a_i`. Также поддерживаются формы с частично константными аргументами, такие как `coalesce(a, 42, b)` и `coalesce(a, b, 42)`.

Переписывает предикаты вида 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

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
26.61Новая настройка для включения независимого вычисления `LIMIT BY` для каждой партиции, когда выражение партиционирования является детерминированной функцией столбцов `LIMIT BY`.

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

allow_lossy_numeric_supertype

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.80Новая настройка, позволяющая if/multiIf/coalesce/ifNull/array/map приводить все числовые ветви без общего типа без потери точности (например, Decimal + Float64) к числовому супертипу (Float64 с возможной потерей точности), чтобы результат можно было агрегировать. Не зависит от use_variant_as_common_type: если она была выключена, такие ветви ранее вызывали NO_COMMON_TYPE, а если включена — становились Variant; теперь в обоих случаях они приводятся к Float64.

Когда настройка включена, 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

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
25.40Запретить создание MV, ссылающихся на несуществующие столбцы или таблицы
24.91Поддержка (но пока не включена) более строгой валидации в CREATE MATERIALIZED VIEW

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

allow_metadata_only_named_tuple_alter

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.80Новая настройка для управления ALTER, изменяющим только метаданные, при добавлении подполей в именованный Tuple.

Если true, операция ALTER MODIFY COLUMN для именованного Tuple, при которой добавляются только новые подполя, изменяет только метаданные (без мутации данных). Установите false, чтобы принудительно включить прежнее поведение с полной мутацией.

allow_minmax_index_for_json

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.70По умолчанию запрещает создавать индекс пропуска данных minmax для JSON-столбцов, поскольку сериализация индекса не может обрабатывать неоднородные значения Field

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

allow_named_collection_override_by_default

Тип
Bool
По умолчанию
1

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

allow_non_metadata_alters

Тип
Bool
По умолчанию
1

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

allow_nonconst_timezone_arguments

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
23.40Разрешает использовать неконстантные аргументы часового пояса в некоторых функциях, связанных со временем, таких как toTimeZone(), fromUnixTimestamp*(), snowflakeToDateTime*().

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

allow_nullable_tuple_in_extracted_subcolumns

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.30Новая настройка, определяющая, могут ли извлечённые подстолбцы Tuple быть Nullable.

Определяет, могут ли извлечённые подстолбцы типа 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

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.50Новая настройка. До версии 26.5 оконные функции `RANK` и `DENSE_RANK` молча игнорировали любые переданные аргументы (эквивалентно `allow_rank_dense_rank_arguments = 1`). Начиная с версии 26.5, по умолчанию они отклоняют аргументы с ошибкой `NUMBER_OF_ARGUMENTS_DOESNT_MATCH`, поскольку по стандарту SQL эти функции не принимают аргументов. Установите значение `1`, чтобы восстановить прежнее поведение.

Разрешает передавать аргументы в оконные функции 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

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
24.101новая настройка

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

allow_replace_partition_from_empty_source

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.60Новая проверка безопасности: `ALTER TABLE ... REPLACE PARTITION ... FROM ...` теперь генерирует исключение, если в исходной таблице нет частей в запрошенной партиции (это устраняет незаметную потерю данных, описанную в [#23727](https://github.com/ClickHouse/ClickHouse/issues/23727)). Предыдущее поведение — молчаливое удаление партиции пункта назначения — сохраняется при установке `allow_replace_partition_from_empty_source = 1`.

Разрешает ALTER TABLE ... REPLACE PARTITION ... FROM ... молча удалять партицию пункта назначения, если в источнике нет частей в этой партиции.

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

Включите эту настройку, чтобы вернуть прежнее поведение, например если вы намеренно используете пустую исходную партицию для очистки данных в пункте назначения. Если нужно просто удалить партицию без дополнительных условий, предпочтительнее использовать ALTER TABLE ... DROP PARTITION ....

allow_settings_after_format_in_insert

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
22.40Не разрешать `SETTINGS` после `FORMAT` в `INSERT`-запросах, поскольку ClickHouse может интерпретировать `SETTINGS` как значения, что может ввести в заблуждение

Управляет тем, разрешён ли SETTINGS после FORMAT в INSERT-запросах. Использовать это не рекомендуется, поскольку часть SETTINGS может быть интерпретирована как значения.

Пример:

INSERT INTO FUNCTION null('foo String') SETTINGS max_threads=1 VALUES ('bar');

Но следующий запрос будет работать только при включённой настройке allow_settings_after_format_in_insert:

SET allow_settings_after_format_in_insert=1;
INSERT INTO FUNCTION null('foo String') VALUES ('bar') SETTINGS max_threads=1;

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

  • 0 — Запрещено.
  • 1 — Разрешено.

allow_simdjson

Тип
Bool
По умолчанию
1

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

allow_special_serialization_kinds_in_output_formats

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
25.111Включает прямой вывод специальных представлений столбцов, таких как Sparse/Replicated, в некоторых выходных форматах
25.100Добавляет настройку, разрешающую вывод специальных представлений столбцов, таких как Sparse/Replicated, без преобразования их в полные столбцы

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

allow_unrestricted_reads_from_keeper

Тип
Bool
По умолчанию
0

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

allow_window_partitions_independently

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
26.81Новая настройка для независимого вычисления оконных функций для каждой партиции (без хеш-перераспределения), если выражение партиционирования является детерминированной функцией столбцов оконного `PARTITION BY`.

Включает независимое вычисление оконных функций для каждой партиции в отдельных потоках, если выражение партиционирования таблицы MergeTree является детерминированной функцией столбцов оконного PARTITION BY. Каждая партиция читается через отдельный поток данных, независимо сортируется в соответствии с описанием сортировки окна и обрабатывается собственным оконным преобразованием без хеш-перераспределения, которое обычно перераспределяет каждую строку между потоками. Это полезно, когда число партиций близко к числу ядер, а их размеры примерно одинаковы; в противном случае эвристика стоимости не применяет эту оптимизацию. См. max_number_of_partitions_for_independent_window и force_window_partitions_independently. Не применяется с FINAL или параллельными репликами.

Navigation