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_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_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 — Разрешено.
Используйте эту настройку только для обратной совместимости, если ваши сценарии зависят от старого синтаксиса.