allow_aggregate_partitions_independently
ReadFromMergeTree автоматически отключают эту оптимизацию при неблагоприятной структуре (слишком мало партиций, слишком много партиций или размеры партиций сильно перекошены); чтобы обойти эти проверки, см. force_aggregate_partitions_independently.
allow_archive_path_syntax
<archive> :: <file>, если у архива корректное расширение.
allow_asynchronous_read_from_io_pool_for_merge_tree
allow_calculating_subcolumns_sizes_for_merge_tree_reading
allow_changing_replica_until_first_data_packet
receive_data_timeout); в противном случае смена реплики отключается после первого достижения прогресса.
allow_create_index_without_type
allow_creating_set_partitions_independently
IN (subquery), если выражение партиционирования таблицы MergeTree в подзапросе является детерминированной функцией выходных столбцов подзапроса. Каждая партиция читается отдельным потоком и дедуплицируется независимо, поэтому единственное преобразование заполнения множества хеширует только уникальные строки. Не применяется с FINAL, параллельными репликами или GLOBAL IN. Оптимизация запрашивает чтение по партициям только если данные содержат более одной партиции, а наибольшая партиция содержит не более чем вдвое больше строк, чем средняя (см. force_creating_set_partitions_independently, чтобы обойти проверку неравномерности); если потоки уже разделены по партициям другой возможностью, работающей по партициям (например, LIMIT BY по партициям), предварительная дедупликация применяется в любом случае, поскольку структура чтения уже определена. Пока строится множество, таблицы дедупликации всех потоков вместе хранят примерно одну дополнительную копию уникальных ключей.
allow_custom_error_code_in_throwif
true, сгенерированные исключения могут иметь неожиданные коды ошибок.
allow_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
allow_drop_detached
allow_dynamic_type_in_join_keys
allow_execute_multiif_columnar
allow_fuzz_query_functions
fuzzQuery, которая применяет к строке запроса случайные мутации AST.
allow_general_join_planning
allow_get_client_http_header
getClientHTTPHeader, которая позволяет получать значение заголовка текущего HTTP request. По соображениям безопасности эта возможность по умолчанию отключена, поскольку некоторые заголовки, например Cookie, могут содержать конфиденциальную информацию. Обратите внимание, что заголовки X-ClickHouse-*, Authentication и Authorization всегда недоступны и не могут быть получены с помощью этой функции.
allow_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 — функции интроспекции отключены.
- Выборочный профилировщик запросов
- Системная таблица trace_log
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
allow_metadata_only_named_tuple_alter
allow_minmax_index_for_json
allow_named_collection_override_by_default
allow_non_metadata_alters
allow_nonconst_timezone_arguments
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
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
allow_special_serialization_kinds_in_output_formats
allow_unrestricted_reads_from_keeper
allow_window_partitions_independently
MergeTree является детерминированной функцией столбцов оконного PARTITION BY. Каждая партиция читается через отдельный поток данных, независимо сортируется в соответствии с описанием сортировки окна и обрабатывается собственным оконным преобразованием без хеш-перераспределения, которое обычно перераспределяет каждую строку между потоками. Это полезно, когда число партиций близко к числу ядер, а их размеры примерно одинаковы; в противном случае эвристика стоимости не применяет эту оптимизацию. См. max_number_of_partitions_for_independent_window и force_window_partitions_independently. Не применяется с FINAL или параллельными репликами.