Эти настройки доступны в system.settings и автоматически генерируются на основе исходного кода.
adaptive_aggregator_freeze_threshold
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 16384 | Новая настройка, задающая количество ключей, при котором адаптивный агрегатор (`enable_adaptive_aggregator`) замораживает локальную хеш-таблицу потока. |
Количество ключей, при котором адаптивный агрегатор замораживает локальную хеш-таблицу потока (см. enable_adaptive_aggregator). При меньших значениях замороженные таблицы остаются в кэше, при больших — могут содержать больше часто встречающихся ключей. При значении 0 таблицы замораживаются при первой возможности, поэтому алгоритм ведёт себя аналогично сегментированному агрегатору (enable_sharding_aggregator): каждый ключ направляется в соответствии со своим хешем и агрегируется одним владельцем, но это происходит на этапе слияния, а не в результате обмена между потоками во время сканирования.
adaptive_aggregator_freeze_threshold_bytes
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.9 | 4194304 | Новая настройка, ограничивающая в байтах размер замороженных локальных таблиц адаптивного агрегатора: срабатывает тот из этого порога и порога по количеству ключей, который будет достигнут первым; 0 отключает ограничение в байтах. |
Объём памяти, при достижении которого адаптивный агрегатор замораживает локальную хеш-таблицу потока (см. enable_adaptive_aggregator). Таблица замораживается при первом достижении этого значения или adaptive_aggregator_freeze_threshold. Размер — это объём байтов, выделенных самой локальной таблицей (буфер её хеш-таблицы плюс её арены), который проверяется между блоками. Ограничение в байтах важно, когда ключи или состояния агрегации имеют большую ширину: одного порога по количеству ключей было бы недостаточно, и такие таблицы могли бы превысить размер кешей CPU. При значении по умолчанию таблицы с обычной шириной ключей и состояний по-прежнему замораживаются по количеству ключей. 0 отключает ограничение в байтах, поэтому решение принимается только на основе порога по количеству ключей.
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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.4 | 0 | новая настройка |
Если включено, анализатор подставляет обычные (нематериализованные, непараметризованные) представления их определяющими подзапросами, что позволяет применять оптимизации поверх границ представлений, такие как pushdown предикатов и отсечение столбцов.
any_join_distinct_right_table_keys
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 19.14 | 0 | По умолчанию отключает ANY RIGHT и ANY FULL JOIN, чтобы избежать несогласованности |
Включает устаревшее поведение сервера ClickHouse в операциях ANY INNER|LEFT 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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.1 | 8388608 | Новая настройка |
Ограничивает максимальный размер адаптивного буфера, используемого при записи в архивы (например, tar-архивы
arrow_flight_request_descriptor_type
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.11 | path | Новая настройка. Тип дескриптора для запросов Arrow Flight: 'path' или 'command'. Для Dremio требуется 'command'. |
Тип дескриптора для запросов 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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.8 | 0 | новая настройка |
| 25.6 | 0 | новая настройка |
| 25.10 | 0 | По умолчанию настройка отключена |
Если установлено значение 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. Для других движков таблиц и при получении данных по сети контрольные суммы проверяются всегда.
сжатие
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | Новая настройка для применения универсального сжатия к телу ответа. |
Применяет универсальное сжатие к телу ответа, например compression=gz. Обратите внимание, что эта настройка не связана с Content-Encoding (HTTP-сжатием) и устаревшим параметром compress (встроенным сжатием ClickHouse). Указание расширения сжатого файла в URL-пути имеет тот же эффект.
Это настройка HTTP-интерфейса, определяющая формат ответа: она применяется до выполнения запроса (буферы ответа настраиваются заранее), поэтому её необходимо указывать через URL-параметр HTTP-запроса, расширение файла в URL-пути или профиль пользователя, а не в предложении SETTINGS запроса (где она не действует и будет отклонена).
connection_pool_max_wait_ms
Время ожидания соединения в миллисекундах, если пул соединений переполнен.
Возможные значения:
- Положительное целое число.
- 0 — бесконечный тайм-аут.
connections_with_failover_max_tries
Максимальное число попыток установить соединение с каждой репликой для движка таблицы Distributed.
convert_query_to_cnf
Если установлено значение true, запрос SELECT будет преобразован в конъюнктивную нормальную форму (CNF). В некоторых случаях запрос, переписанный в CNF, может выполняться быстрее (объяснение см. в этом issue на Github).
Например, обратите внимание, что следующий запрос SELECT не изменяется (поведение по умолчанию):
EXPLAIN SYNTAX
SELECT *
FROM
(
SELECT number AS x
FROM numbers(20)
) AS a
WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15))
SETTINGS convert_query_to_cnf = false;Результат:
┌─explain────────────────────────────────────────────────────────┐
│ SELECT x │
│ FROM │
│ ( │
│ SELECT number AS x │
│ FROM numbers(20) │
│ WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15)) │
│ ) AS a │
│ WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15)) │
│ SETTINGS convert_query_to_cnf = 0 │
└────────────────────────────────────────────────────────────────┘Давайте зададим convert_query_to_cnf значение true и посмотрим, что изменится:
EXPLAIN SYNTAX
SELECT *
FROM
(
SELECT number AS x
FROM numbers(20)
) AS a
WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15))
SETTINGS convert_query_to_cnf = true;Обратите внимание, что предложение WHERE переписано в CNF, но результирующий набор остаётся тем же — булева логика не изменилась:
┌─explain───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ SELECT x │
│ FROM │
│ ( │
│ SELECT number AS x │
│ FROM numbers(20) │
│ WHERE ((x <= 15) OR (x <= 5)) AND ((x <= 15) OR (x >= 1)) AND ((x >= 10) OR (x <= 5)) AND ((x >= 10) OR (x >= 1)) │
│ ) AS a │
│ WHERE ((x >= 10) OR (x >= 1)) AND ((x >= 10) OR (x <= 5)) AND ((x <= 15) OR (x >= 1)) AND ((x <= 15) OR (x <= 5)) │
│ SETTINGS convert_query_to_cnf = 1 │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘Возможные значения: true, false
count_matches_stop_at_empty_match
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.6 | 0 | Новая настройка |
Останавливать подсчёт, как только в функции 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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.2 | 1 | По умолчанию включает дедупликацию для зависимых materialized view. |
Включает или отключает проверку дедупликации для materialized view, получающих данные из таблиц Replicated*.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
Если параметр включен, ClickHouse выполняет дедупликацию блоков в materialized view, зависящих от таблиц Replicated*. Этот параметр полезен, чтобы materialized view не содержали дублирующихся данных, если операция вставки повторяется из-за сбоя.
См. также
defer_partition_pruning_after_final
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.5 | 1 | Параметр, добавленный в 26.5, для управления поведением отсечения партиций в FINAL, которое было незаметно включено в 26.3 (https://github.com/ClickHouse/ClickHouse/pull/98242). Существенное семантическое изменение зафиксировано в блоке 26.3, поэтому `compatibility = '26.2'` отменяет его; эта запись нужна для того, чтобы проверка обновления с 26.4 принимала новое имя параметра. |
| 26.3 | 1 | Управляет безусловным отключением отсечения партиций в планировщике FINAL, когда столбец ключа партиции не входит в ключ сортировки. Само изменение поведения было незаметно включено в 26.3 через https://github.com/ClickHouse/ClickHouse/pull/98242; эта запись задним числом документирует его, чтобы `compatibility = '26.2'` восстанавливала поведение до регрессии (0 = выполнять отсечение до FINAL, быстро; 1 = откладывать отсечение, безопасно с точки зрения корректности). |
Когда параметр включен (по умолчанию), для запросов FINAL к таблицам, у которых
столбцы ключа партиции не входят в ключ сортировки, отсечение партиций не выполняется. Это безопасное с точки зрения корректности поведение,
добавленное в 26.3: FINAL может потребоваться выполнить дедупликацию строк с одинаковым
первичным ключом, но находящихся в разных партициях, а отсечение партиций молча исключило бы такие строки из
входных данных для дедупликации.
Когда параметр отключен, отсечение партиций применяется даже с FINAL, что восстанавливает поведение
до 26.3. Это может быть значительно быстрее для запросов с предикатами WHERE по
столбцу партиции, но корректно только в тех случаях, когда строки с одинаковым первичным ключом не могут существовать
в разных партициях — например, в таблицах журналов событий, где столбец партиции задается при вставке
и никогда не изменяется.
Этот параметр влияет только на партиционированные таблицы, у которых столбцы ключа партиции не входят в ключ сортировки; для остальных таблиц отсечение партиций применяется всегда.
Возможные значения:
- 0 — Применять отсечение партиций до
FINAL(поведение до 26.3, быстрее, но в общем случае небезопасно). - 1 — Откладывать отсечение партиций до выполнения
FINAL(по умолчанию, безопасно с точки зрения корректности).
describe_compact_output
Если установлено значение true, в результат запроса DESCRIBE включаются только имена столбцов и типы
dialect
Диалект, используемый для разбора запроса.
Поддерживаемые значения:
clickhouse(по умолчанию) — стандартный ClickHouse SQL.kusto— Kusto Query Language. Требует экспериментальной настройкиallow_experimental_kusto_dialect.prql— PRQL. Требует экспериментальной настройкиallow_experimental_prql_dialect.polyglot— транспилирует SQL из других диалектов (MySQL, PostgreSQL и т. д.) в ClickHouse SQL. Требует экспериментальной настройкиallow_experimental_polyglot_dialect.promql— PromQL (Prometheus Query Language), выполняемый для таблицы TimeSeries, настроенной с помощью параметровpromql_database,promql_tableиpromql_evaluation_time.clickhouse_json— вместо текста SQL запрос интерпретируется как JSON AST (результат работыparseQueryToJSON). ЗапросSETпо-прежнему распознаётся в обычной форме, что позволяет переключиться обратно на другой диалект. Требует экспериментальной настройкиenable_json_ast_dialect.
discard_query_data
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.7 | 0 | Новая настройка, позволяющая не отправлять клиенту строки результата запроса по собственному TCP-протоколу. |
Если настройка включена, сервер не отправляет клиенту строки результата запроса. При этом запрос по-прежнему полностью выполняется и записывается в журнал на сервере, а клиент по-прежнему получает остальные пакеты.
Используется для теневого трафика, бенчмарков и фаззинга.
Не влияет на вторичные запросы.
Действует только для собственного TCP-протокола.
distinct_overflow_mode
Определяет, что происходит, когда объём данных превышает один из лимитов.
Возможные значения:
throw: сгенерировать исключение (по умолчанию).break: прекратить выполнение запроса и вернуть частичный результат, как если бы исходные данные исчерпались.
do_not_merge_across_partitions_select_final
Повышает производительность запросов FINAL, избегая слияний между разными партициями.
Если включено, при выполнении запросов SELECT FINAL части из разных партиций не будут сливаться друг с другом. Вместо этого слияние будет происходить отдельно в пределах каждой партиции. Это может значительно повысить производительность запросов при работе с партиционированными таблицами.
dynamic_throw_on_type_mismatch
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.4 | 1 | Новая настройка для управления поведением при несоответствии типов в стандартной реализации Dynamic |
При применении функции к столбцу Dynamic со стандартной реализацией управляет тем, что происходит со строками, фактический тип которых несовместим с функцией:
true(по умолчанию) — сгенерировать исключение.false— вместо этого возвращатьNULLдля таких строк.
enforce_strict_identifier_format
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.10 | 0 | Новая настройка |
Если параметр включен, разрешены только идентификаторы, содержащие буквенно-цифровые символы и символы подчеркивания.
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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.10 | Новая настройка |
Исключает указанные индексы пропуска данных из построения и хранения при операциях INSERT. Исключённые индексы пропуска данных всё равно будут строиться и сохраняться при слиянии или явным запросом MATERIALIZE INDEX.
Не имеет эффекта, если materialize_skip_indexes_on_insert равно false.
Пример:
CREATE TABLE tab
(
a UInt64,
b UInt64,
INDEX idx_a a TYPE minmax,
INDEX idx_b b TYPE set(3)
)
ENGINE = MergeTree ORDER BY tuple();
SET exclude_materialize_skip_indexes_on_insert='idx_a'; -- idx_a will be not be updated upon insert
--SET exclude_materialize_skip_indexes_on_insert='idx_a, idx_b'; -- neither index would be updated on insert
INSERT INTO tab SELECT number, number / 50 FROM numbers(100); -- only idx_b is updated
-- since it is a session setting it can be set on a per-query level
INSERT INTO tab SELECT number, number / 50 FROM numbers(100, 100) SETTINGS exclude_materialize_skip_indexes_on_insert='idx_b';
ALTER TABLE tab MATERIALIZE INDEX idx_a; -- this query can be used to explicitly materialize the index
SET exclude_materialize_skip_indexes_on_insert = DEFAULT; -- reset setting to defaultexecute_exists_as_scalar_subquery
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.8 | 1 | новая настройка |
Выполнять некоррелированные подзапросы EXISTS как скалярные подзапросы. Как и для скалярных подзапросов, используется кэш, а к результату применяется свёртка констант.
Значение по умолчанию в Cloud: 0.
explain_query_plan_default
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.7 | pretty | Начиная с версии 26.7, для `EXPLAIN PLAN` по умолчанию используются `actions=1, compact=1, pretty=1`. Установите `legacy`, чтобы вернуть формат вывода, использовавшийся до 26.7. |
Формат, используемый по умолчанию для 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.
explain_syntax_single_record
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 1 | Начиная с версии 26.8, `EXPLAIN SYNTAX` возвращает переформатированный запрос в виде одной записи (со встроенными переводами строк), а не отдельной записи для каждой строки. Установите значение `false`, чтобы восстановить вывод в формате, использовавшемся до версии 26.8: одна запись на строку. |
Возвращает результат EXPLAIN SYNTAX в виде одной записи (со встроенными переводами строк), а не отдельной записи для каждой строки, благодаря чему результат представляет собой одну строку, которую можно извлечь (например, SELECT count() FROM (EXPLAIN SYNTAX ...) возвращает 1).
Явное указание параметра single_record в операторе EXPLAIN SYNTAX (например, EXPLAIN SYNTAX single_record = 0 SELECT ...) всегда переопределяет эту настройку.
Установите значение false, чтобы восстановить вывод в формате, использовавшемся до версии 26.8: одна запись на строку, или задайте для compatibility любую версию ниже 26.8.
extract_key_value_pairs_max_pairs_per_row
Псевдонимы: extract_kvp_max_pairs_per_row
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.2 | 1000 | Максимальное количество пар, которое может вернуть функция `extractKeyValuePairs`. Используется как защита от чрезмерного потребления памяти. |
Максимальное количество пар, которое может вернуть функция extractKeyValuePairs. Используется как защита от чрезмерного потребления памяти.
extremes
Определяет, нужно ли учитывать экстремальные значения (минимальные и максимальные значения в столбцах результата запроса). Принимает значения 0 или 1. По умолчанию — 0 (отключено). Подробнее см. в разделе «Экстремальные значения».
fallback_to_stale_replicas_for_distributed_queries
Принудительно отправляет запрос на устаревшую реплику, если актуальные данные недоступны. См. Репликация.
ClickHouse выбирает наиболее подходящую из устаревших реплик таблицы.
Используется при выполнении SELECT из distributed таблицы, указывающей на реплицируемые таблицы.
По умолчанию: 1 (включено).
file_like_engine_default_partition_strategy
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.6 | hive | Стратегия партиционирования по умолчанию для file-like движков таблиц (S3, AzureBlobStorage и т. д.) изменена с `wildcard` на `hive`, если `partition_strategy` не указана. |
Стратегия партиционирования по умолчанию для file-like движков. Применяется только к запросам CREATE, в которых путь не содержит glob или плейсхолдер {_partition_id}. Для пути с {_partition_id} всегда используется wildcard. Для пути с другим glob стратегия партиционирования не используется, а PARTITION BY игнорируется. Если для этого параметра установлено значение wildcard, но путь не содержит {_partition_id}, стратегия партиционирования не используется; движки таблиц, которые не могут сохранить это решение в аргументах движка (например, HDFS), отклоняют такой CREATE.
filesystem_prefetches_limit
Максимальное количество операций предварительного чтения. Ноль означает отсутствие ограничений. Если нужно ограничить количество операций предварительного чтения, рекомендуется использовать настройку filesystem_prefetches_max_memory_usage
filter
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | Новая настройка для добавления предложения WHERE вокруг запроса. |
Добавляет к запросу предложение WHERE, оборачивая его в подзапрос. Несколько фильтров объединяются с помощью AND. HTTP-интерфейс позволяет указывать несколько URL-параметров filter, которые объединяются с помощью AND в заданном порядке и со значением этой настройки.
Это настройка построения запроса: движок применяет её к разобранному запросу, оборачивая его как производную таблицу. Поэтому она сочетается с существующим запросом и работает при любом протоколе: её можно передать через URL-параметр HTTP-запроса, предложение SETTINGS в запросе или профиль пользователя.
Она применяется к запросам SELECT / UNION, возвращающим результат. Для запросов записи (INSERT … SELECT, CREATE … AS SELECT) она действует только при указании в собственном предложении SETTINGS исходного SELECT; значение, унаследованное от профиля или сеанса либо заданное в самом операторе INSERT / CREATE, не передаётся исходному SELECT — как и любая другая настройка.
final
Автоматически применяет модификатор FINAL ко всем таблицам в запросе, для которых применим FINAL, включая таблицы, участвующие в JOIN, таблицы в подзапросах, а также distributed таблицы.
Возможные значения:
- 0 - отключено
- 1 - включено
Пример:
CREATE TABLE test
(
key Int64,
some String
)
ENGINE = ReplacingMergeTree
ORDER BY key;
INSERT INTO test FORMAT Values (1, 'first');
INSERT INTO test FORMAT Values (1, 'second');
SELECT * FROM test;
┌finalize_projection_parts_synchronously
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.4 | 0 | Новая настройка для синхронной финализации частей проекций во время INSERT, чтобы снизить пиковое потребление памяти. |
Если настройка включена, части проекций финализируются синхронно во время INSERT, что снижает пиковое потребление памяти ценой уменьшения параллелизма загрузки в S3. По умолчанию выходной поток каждой проекции остаётся активным до тех пор, пока не будет финализирована вся часть (включая все проекции), что позволяет выполнять параллельно перекрывающиеся загрузки в S3, но увеличивает пиковое потребление памяти пропорционально числу проекций. Эта настройка влияет только на INSERT; слияния и мутации уже финализируют проекции синхронно.
flatten_nested
Задаёт формат данных для столбцов типа Nested.
Возможные значения:
- 1 — столбец Nested преобразуется в отдельные массивы.
- 0 — столбец Nested остаётся единым массивом кортежей.
Использование
Если для этой настройки установлено значение 0, можно использовать произвольный уровень вложенности.
Примеры
Запрос:
SET flatten_nested = 1;
CREATE TABLE t_nest (`n` Nested(a UInt32, b UInt32)) ENGINE = MergeTree ORDER BY tuple();
SHOW CREATE TABLE t_nest;Результат:
┌─statement───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ CREATE TABLE default.t_nest
(
`n.a` Array(UInt32),
`n.b` Array(UInt32)
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS index_granularity = 8192 │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘Запрос:
SET flatten_nested = 0;
CREATE TABLE t_nest (`n` Nested(a UInt32, b UInt32)) ENGINE = MergeTree ORDER BY tuple();
SHOW CREATE TABLE t_nest;Результат:
┌─statement──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ CREATE TABLE default.t_nest
(
`n` Nested(a UInt32, b UInt32)
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS index_granularity = 8192 │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘format
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | Новая настройка для переопределения FORMAT запроса для входных и выходных данных. |
Переопределяет FORMAT запроса для входных и выходных данных. Имеет приоритет над форматом, указанным в запросе и расширении файла. Более специфичные настройки input_format и output_format имеют приоритет над этой общей настройкой format для соответствующего направления.
framing_output_format
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | None | Новая настройка для выбора формата кадрирования, мультиплексирующего пакеты данных, итогов, экстремумов, прогресса, журналов и событий профилирования в единый выходной поток по HTTP. |
Позволяет мультиплексировать различные части ответа на запрос в едином потоке: фрагменты данных, итоги и экстремумы, пакеты прогресса, события профилирования (метрики) и серверные журналы — всё, что поддерживает собственный протокол.
Форматы кадрирования не зависят от выходных форматов: они инкапсулируют байты, создаваемые любым выходным форматом, разделяя и при необходимости кодируя эти фрагменты. Конкатенация полезных нагрузок всех пакетов data, totals и extremes в точности соответствует тому, что выходной формат создал бы без кадрирования. Вспомогательные пакеты (прогресс, журналы, события профилирования, исключения) представлены в JSON.
Одно преднамеренное исключение: выходной формат, который не выводит итоги и экстремумы в обычном выводе, поскольку не может их представить (семейство JSONCompactEachRow), при кадрировании всё же помещает их в пакеты totals и extremes. Для таких форматов конкатенация только пакетов data в точности соответствует выводу без кадрирования, а пакеты totals и extremes содержат дополнительные строки, отсутствующие в выводе без кадрирования.
Серверные журналы включаются, если задана настройка send_logs_level, а события профилирования — если включена настройка send_profile_events (они отправляются не чаще одного раза в interactive_delay микросекунд, а пакеты прогресса также ограничиваются параметром interactive_delay).
Успешный поток завершается финальным пакетом progress с итоговыми счётчиками (result_rows, result_bytes, memory_usage), записываемым после завершающих пакетов log и profile_events, отправленных при журналировании завершения запроса, как и финальный пакет прогресса собственного протокола. При ошибке последним становится пакет exception, за одним исключением: если ошибка возникает после того, как часть потока пакетов уже записана в ответ и больше не может быть отброшена (ошибка возникает при записи пакета, не удаётся доставить сам пакет exception либо поток ответа завершается ошибкой при сбросе или закрытии), кадрирование завершается с закрытием: поток прекращается без завершающего пакета exception, а клиент вместо разбираемого завершающего пакета получает усечённый ответ и прерванное HTTP-соединение. После частичного потока пакетов ничего не добавляется, поэтому обычное тело HTTP-ошибки никогда не смешивается с ним.
Всё, что запрос включает только через собственную секцию SETTINGS — формат кадрирования, send_logs_level или send_profile_events, — становится известно лишь после разбора запроса, поэтому соответствующие журналы и события профилирования собираются только начиная с выполнения запроса. Журналы и события профилирования этапов разбора, планирования и анализа собираются только тогда, когда настройка задана в сеансе или URL. Например, запрос, который завершается ошибкой во время анализа (например, из-за ссылки на неизвестную таблицу) и включает send_logs_level только в собственной секции SETTINGS, передаёт лишь пакет exception, но не журналы этапа анализа; чтобы собрать их, задайте send_logs_level в сеансе или URL.
То же ограничение позднего обнаружения относится к send_logs_source_regexp: очередь журналов фильтрует записи по источнику в момент захвата каждой записи, поэтому регулярное выражение, заданное только в собственной секции SETTINGS запроса, действует лишь начиная с выполнения запроса. Пакеты log этапов разбора, планирования и анализа фильтруются по значению настройки из сеанса или URL (если там настройка не задана, они не фильтруются), поэтому могут включать источники, не соответствующие регулярному выражению уровня запроса; и наоборот, записи, отброшенные более узким регулярным выражением из сеанса или URL, не восстанавливаются более широким регулярным выражением уровня запроса. Задайте send_logs_source_regexp в сеансе или URL, чтобы фильтровать весь жизненный цикл запроса.
В настоящее время настройка применяется к HTTP-протоколу и игнорируется для других интерфейсов.
Возможные значения:
None— прозрачно направляет всё применимое (данные, итоги, экстремумы, прогресс) в выходной формат и игнорирует всё неприменимое (метрики, журналы), поэтому по умолчанию всё работает как есть.EventStream— оформляет пакеты как HTTP-события, отправляемые сервером (text/event-stream). Каждый пакет отправляется как событие с соответствующим именем:data,totals,extremes,progress,log,profile_events,exception. Прогресс и другие вспомогательные пакеты отправляются в формате JSON. Поскольку события, отправляемые сервером, используют текстовый протокол, в котором переводы строк (включая возврат каретки,\r) считаются разделителями, блок форматированных данных кодируется в Base64 и помещается в единственное поле событияdata. При декодировании оно содержит полностью отформатированную полезную нагрузку со всеми переводами строк; вContent-Typeдля этого указывается параметрpayload=base64. Таким способом можно передать любой выходной формат с точным сохранением байтов — как текстовый, так и бинарный.JSONEachPacketBase64— каждый пакет представляет собой объект JSON в отдельной строке, а форматированные данные кодируются в Base64, например:{"packet":"data","data":"eyJ4IjoxfQo="}. Подходит для бинарных выходных форматов.JSONEachPacketString— каждый пакет представляет собой объект JSON в отдельной строке, а форматированные данные помещаются в строку, например:{"packet":"data","data":"{\"x\":1}\n"}.
JSONEachPacketString помещает байты полезной нагрузки в JSON-строку без их проверки или повторного кодирования. Столбцы String и FixedString могут содержать произвольные байты, поэтому текстовые выходные форматы (такие как JSONEachRow, TSV или CSV) могут выводить для таких значений недопустимые последовательности UTF-8 — так же, как собственный формат JSONEachRow ClickHouse при значении по умолчанию output_format_json_validate_utf8 = 0, — и в результате поток NDJSON может не быть допустимым UTF-8. Используйте JSONEachPacketBase64 для передачи произвольных байтов с точным сохранением байтов.
Пример:
curl "http://localhost:8123/?framing_output_format=JSONEachPacketString" -d "SELECT number FROM numbers(3) FORMAT JSONEachRow"Результат:
{"packet":"data","data":"{\"number\":\"0\"}\n{\"number\":\"1\"}\n{\"number\":\"2\"}\n"}
{"packet":"profile_events","profile_events":[{"host_name":"localhost","current_time":"2026-07-11 00:00:00","thread_id":"0","type":"increment","name":"SelectedRows","value":"3"}]}
{"packet":"progress","progress":{"read_rows":"3","read_bytes":"24","total_rows_to_read":"3","result_rows":"3","result_bytes":"24","elapsed_ns":"1265958"}}fsync_metadata
Включает или отключает fsync при записи файлов .sql. По умолчанию включено.
Его имеет смысл отключить, если на сервере есть миллионы маленьких таблиц, которые постоянно создаются и удаляются.
functions_h3_default_if_invalid
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.2 | 0 | Новая настройка для устаревшего поведения, разрешающая недопустимые входные данные для функций h3 |
Если false, функции h3, например h3CellAreaM2, генерируют исключение при недопустимых входных данных. Если true, они возвращают 0 или значение по умолчанию.
geo_distance_returns_float64_on_float64_arguments
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.3 | 1 | Увеличена точность по умолчанию. |
Если все четыре аргумента функций geoDistance, greatCircleDistance, greatCircleAngle имеют тип Float64, то возвращается Float64, а для внутренних вычислений используется двойная точность. В предыдущих версиях ClickHouse эти функции всегда возвращали Float32.
geotoh3_argument_order
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.5 | lat_lon | Новая настройка для устаревшего поведения, позволяющая задать порядок аргументов lon и lat |
Функция 'geoToH3' принимает (lon, lat), если установлено значение 'lon_lat', и (lat, lon), если установлено значение 'lat_lon'.
glob_expansion_max_elements
Максимальное количество разрешённых адресов (для внешних хранилищ, табличных функций и т. д.).
h3togeo_lon_lat_result_order
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.1 | 0 | новая настройка |
Функция 'h3ToGeo' возвращает (lon, lat), если установлено значение true, иначе — (lat, lon).
handshake_timeout_ms
Тайм-аут в миллисекундах на получение пакета Hello от реплик во время рукопожатия.
hedged_connection_timeout_ms
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 23.4 | 50 | Начинать новое соединение в Hedged requests через 50 мс вместо 100, чтобы привести в соответствие с предыдущим тайм-аутом подключения |
Тайм-аут на установление соединения с репликой для Hedged requests
highlight_max_matches_per_row
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.4 | 10000 | Новая настройка, ограничивающая количество совпадений подсветки на строку, чтобы предотвратить чрезмерное использование памяти. |
Задаёт максимальное количество совпадений подсветки на строку в функции highlight. Используйте её, чтобы предотвратить чрезмерное использование памяти при подсветке часто повторяющихся шаблонов в больших текстах.
Возможные значения:
- Положительное целое число.
hnsw_candidate_list_size_for_search
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.10 | 256 | Новая настройка. Ранее это значение при необходимости указывалось в CREATE INDEX, а по умолчанию составляло 64. |
Размер динамического списка кандидатов при поиске по индексу векторного сходства, также называемый ef_search.
hsts_max_age
Время действия HSTS. Значение 0 отключает HSTS.
idle_connection_timeout
Тайм-аут закрытия бездействующих TCP-соединений по истечении указанного количества секунд.
Возможные значения:
- Положительное целое число (0 — закрыть немедленно, через 0 секунд).
inject_random_order_for_select_without_order_by
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.10 | 0 | новая настройка |
Если включено, добавляет 'ORDER BY rand()' в SELECT-запросы без предложения ORDER BY. Применяется только при глубине подзапроса = 0. Подзапросы и INSERT INTO … SELECT не затрагиваются. Если конструкция верхнего уровня — UNION, 'ORDER BY rand()' добавляется во все дочерние части независимо. Полезно только для тестирования и разработки (отсутствие ORDER BY — источник недетерминированных результатов запроса).
input_format
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | Новая настройка для переопределения формата входных данных запроса. |
Переопределяет формат входных данных запроса. Имеет приоритет над форматом, указанным в запросе.
interactive_delay
Интервал в микросекундах для проверки отмены выполнения запроса и отправки Прогресса.
intersect_default_mode
Задаёт режим по умолчанию для запроса INTERSECT. Возможные значения: пустая строка, 'ALL', 'DISTINCT'. Если указана пустая строка, запрос без режима сгенерирует исключение.
least_greatest_legacy_null_behavior
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.12 | 0 | новая настройка |
Если включено, функции 'least' и 'greatest' возвращают NULL, если один из аргументов равен NULL.
legacy_column_name_of_tuple_literal
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 21.7 | 0 | Эта настройка добавлена только из соображений совместимости. Имеет смысл установить значение 'true' при выполнении rolling update кластера с версии ниже 21.7 на версию выше |
Использует в именах столбцов больших литералов Tuple имена всех элементов вместо хеша. Эта настройка существует только из соображений совместимости. Имеет смысл установить значение 'true' при выполнении rolling update кластера с версии ниже 21.7 на версию выше.
limit
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 0 | Тип изменён с UInt64 на Float для поддержки отрицательных и дробных значений, передаваемых нативной поддержке отрицательных/дробных значений `LIMIT` в ClickHouse. |
Задаёт максимальное число строк в результате запроса. Корректирует значение, заданное в предложении LIMIT. Значение передаётся в LIMIT и допускает всё, что допускает LIMIT, включая отрицательные значения (отсчёт ведётся с конца результата) и дробные значения в диапазоне (0, 1) (интерпретируются как доля результата).
Возможные значения:
- 0 — число строк не ограничено.
- Положительное целое число — точное число строк.
- Отрицательное целое число — вернуть последние N строк.
- Вещественное число в открытом диапазоне
(0, 1)— вернуть указанную долю результата.
Этот параметр влияет на запросы SELECT / UNION, возвращающие результат. Для запросов записи (INSERT … SELECT, CREATE … AS SELECT) он действует, только если исходный SELECT содержит его в собственном предложении SETTINGS; значение, унаследованное из профиля или сеанса либо заданное в самом операторе INSERT / CREATE, не передаётся в исходный SELECT — как и любой другой параметр.
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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.4 | 1000 | Новая настройка |
Когда используется механизм приоритизации запросов (см. настройку priority), запросы с низким приоритетом ждут завершения запросов с более высоким приоритетом. Эта настройка указывает время ожидания.
make_distributed_plan
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.5 | 0 | Новая экспериментальная настройка. |
Формирует распределённый план запроса.
При включении автоматически корректируются настройки, управляющие возможностями, которые пока не поддерживаются распределёнными планами запросов:
enable_parallel_replicas = 0иautomatic_parallel_replicas_mode = 0— распределённый план самостоятельно распределяет работу;correlated_subqueries_use_in_memory_buffer = 0;use_skip_indexes_on_data_read = 0;compile_expressions = 0;query_plan_direct_read_from_text_index = 0.
merge_table_max_tables_to_look_for_schema_inference
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.1 | 1000 | Новая настройка |
При создании таблицы Merge без явного указания схемы или при использовании табличной функции merge схема определяется как объединение не более указанного количества подходящих таблиц.
Если таблиц больше, схема будет определена по первым таблицам в указанном количестве.
mongodb_throw_on_unsupported_query
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.9 | 1 | Новая настройка |
| 24.10 | 1 | Новая настройка |
Если параметр включен, таблицы MongoDB возвращают ошибку, когда не удается сформировать запрос MongoDB. В противном случае ClickHouse читает всю таблицу и обрабатывает ее локально. Этот параметр не действует, если allow_experimental_analyzer=0.
multiple_joins_try_to_keep_original_names
Не добавлять псевдонимы в список выражений верхнего уровня при переписывании запроса с несколькими JOIN
normalize_function_names
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 21.3 | 1 | Приводить имена функций к каноническому виду; это требовалось для маршрутизации запросов к проекциям |
Приводить имена функций к каноническому виду
offset
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 0 | Тип расширен с UInt64 до Float для поддержки отрицательных и дробных значений, передаваемых во встроенную поддержку ClickHouse отрицательных/дробных значений `OFFSET`. |
Задаёт количество строк, пропускаемых перед началом возврата строк запроса. Корректирует смещение, заданное предложением OFFSET. Значение передаётся в OFFSET и может принимать всё, что допускает OFFSET, включая отрицательные значения и дроби в (0, 1).
Возможные значения:
- 0 — строки не пропускаются.
- Положительное целое число.
- Отрицательное целое число.
- Вещественное число в открытом диапазоне
(0, 1)— пропускается соответствующая доля результата.
Пример
Входная таблица:
CREATE TABLE test (i UInt64) ENGINE = MergeTree() ORDER BY i;
INSERT INTO test SELECT number FROM numbers(500);Запрос:
SET limit = 5;
SET offset = 7;
SELECT * FROM test LIMIT 10 OFFSET 100;Результат:
┌───i─┐
│ 107 │
│ 108 │
│ 109 │
└─────┘Этот параметр определяет поведение запросов SELECT / UNION, возвращающих результат. Для запроса записи (INSERT … SELECT, CREATE … AS SELECT) он действует только тогда, когда исходный SELECT содержит его в собственном предложении SETTINGS; значение, унаследованное из профиля или сеанса либо заданное в самом операторе INSERT / CREATE, не передаётся исходному SELECT — как и любой другой параметр.
order
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | Новая настройка для добавления предложения ORDER BY к запросу. |
Добавляет к запросу предложение ORDER BY, оборачивая его в подзапрос. Принимает произвольный список выражений.
Это настройка построения запроса: движок применяет её к разобранному запросу, оборачивая его в производную таблицу. Поэтому она сочетается с существующим запросом и работает по любому протоколу: её можно задать через URL-параметр HTTP-запроса, предложение SETTINGS в запросе или профиль пользователя.
Она применяется к запросам SELECT / UNION, возвращающим результаты. Для запроса записи (INSERT … SELECT, CREATE … AS SELECT) она действует, только если исходный SELECT содержит её в собственном предложении SETTINGS; значение, унаследованное из профиля или сеанса либо заданное в самом операторе INSERT / CREATE, не передаётся в исходный SELECT — как и любая другая настройка.
output_format
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | Новая настройка для переопределения формата вывода запроса. |
Переопределяет формат вывода запроса. Имеет приоритет над форматом, указанным в запросе, расширении файла или с помощью default_format.
page
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 0 | Новая настройка для постраничных HTTP-ответов, эквивалентная offset = limit * (page - 1). Имеет тип Float, поэтому может принимать отрицательные или дробные значения (передаваемые в SQL `LIMIT`/`OFFSET`). |
Задаёт номер страницы для постраничной выдачи. Эквивалентна offset = limit * (page - 1). Может быть задана только при установленном limit и неустановленном offset. Нумерация страниц начинается с 1. Поддерживает отрицательные и дробные значения так же, как limit и offset.
Это настройка построения запроса: движок применяет её к разобранному запросу, оборачивая его в производную таблицу. Поэтому она сочетается с существующим запросом и работает по любому протоколу: её можно передать через URL-параметр HTTP-запроса, предложение SETTINGS в запросе или профиль пользователя.
Она влияет на запросы SELECT / UNION, возвращающие результаты. Для запроса записи (INSERT … SELECT, CREATE … AS SELECT) она действует только в том случае, если исходный SELECT содержит её в собственном предложении SETTINGS; значение, унаследованное из профиля или сеанса либо заданное в самом операторе INSERT / CREATE, не передаётся исходному SELECT — как и любая другая настройка.
paimon_target_snapshot_id
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.5 | -1 | Новая настройка |
Чтение указанного снимка на уровне запроса для инкрементального режима Paimon. Если значение >0, модуль чтения будет получать только дельту для указанного snapshot_id, не продвигая зафиксированную водяную метку. По умолчанию: -1 (отключено)
parallelize_output_from_storages
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 23.5 | 1 | Разрешает параллелизм при выполнении запросов, читающих из file/url/S3 и т. д. Это может изменить порядок строк. |
Распараллеливает вывод на этапе чтения из хранилища. Позволяет, где это возможно, распараллеливать обработку запроса сразу после чтения из хранилища
partial_result_on_first_cancel
Позволяет запросу вернуть частичный результат после отмены.
per_part_index_stats
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.8 | 0 | Новая настройка. |
Записывает в журнал статистику индекса по каждой части
poll_interval
Блокирует сервер в цикле ожидания запроса на указанное количество секунд.
polyglot_dialect
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.3 | Новая настройка для указания исходного диалекта SQL для транспайлера polyglot. |
Исходный диалект SQL для транспайлера polyglot (например, 'sqlite', 'mysql', 'postgresql', 'snowflake', 'duckdb').
postgresql_fault_injection_probability
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.2 | 0 | Новая настройка |
Приблизительная вероятность сбоя при выполнении внутренних запросов PostgreSQL (для репликации). Допустимое значение — в интервале [0.0f, 1.0f]
predicate_statistics_sample_rate
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.5 | 0 | Новая настройка для сбора статистики селективности предикатов в system.predicate_statistics_log |
Собирает статистику селективности предикатов в system.predicate_statistics_log. Если установлено значение N > 0, выборка включает примерно 1/N запросов (по Query id). 0 означает, что сбор отключён.
prefetch_buffer_size
Максимальный размер буфера предвыборки для чтения из файловой системы. Значения свыше 256 МиБ принудительно ограничиваются до 256 МиБ, так как буфер чтения не требует большего размера.
print_pretty_type_names
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.1 | 1 | Улучшен пользовательский опыт. |
Позволяет выводить имена глубоко вложенных типов в удобочитаемом виде с отступами в запросе DESCRIBE и функции toTypeName().
Пример:
CREATE TABLE test (a Tuple(b String, c Tuple(d Nullable(UInt64), e Array(UInt32), f Array(Tuple(g String, h Map(String, Array(Tuple(i String, j UInt64))))), k Date), l Nullable(String))) ENGINE=Memory;
DESCRIBE TABLE test FORMAT TSVRaw SETTINGS print_pretty_type_names=1;a Tuple(
b String,
c Tuple(
d Nullable(UInt64),
e Array(UInt32),
f Array(Tuple(
g String,
h Map(
String,
Array(Tuple(
i String,
j UInt64
))
)
)),
k Date
),
l Nullable(String)
)priority
Приоритет запроса. 1 — наивысший приоритет, большее значение — более низкий приоритет; 0 — приоритеты не используются.
push_external_roles_in_interserver_queries
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.11 | 1 | Новая настройка |
Включает передачу ролей пользователя от узла-инициатора на другие узлы во время выполнения запроса.
query_metric_log_interval
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.10 | -1 | Новая настройка |
Интервал в миллисекундах, с которым собираются данные 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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.5 | 10 | Максимальное число итераций для определения типов столбцов в рекурсивных CTE с помощью итеративного getLeastSupertype |
Максимальное количество итераций для определения типов столбцов в рекурсивных 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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.7 | 0 | Новая настройка для резервирования памяти под определённую рабочую нагрузку перед запуском запроса. |
Используется в планировании рабочих нагрузок. Минимальный объём оперативной памяти, резервируемый для выполнения запроса на одном сервере. Резервирование выполняется через иерархию WORKLOAD с использованием значения настройки запроса workload.
Если для рабочей нагрузки недостаточно доступной памяти, запрос не запускается и остаётся в состоянии pending, пока резервирование не станет возможным.
Значение 0 означает, что резервирование не выполняется.
Эта настройка действует только в том случае, если создан ресурс MEMORY RESERVATION.
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.2 | 0 | Новая настройка |
Заменяет движок таблицы ReplicatedMergeTree на SharedMergeTree при RESTORE.
Значение по умолчанию в Cloud: 1.
result_overflow_mode
Определяет, что делать, если объём результата превышает одно из ограничений.
Возможные значения:
throw: сгенерировать исключение (по умолчанию).break: остановить выполнение запроса и вернуть частичный результат, как если бы исходные данные были исчерпаны.
Использование 'break' похоже на использование LIMIT. Break прерывает выполнение только на уровне
блока. Это означает, что количество возвращённых строк будет больше, чем
max_result_rows, кратно max_block_size
и зависит от max_threads.
Пример
SET max_threads = 3, max_block_size = 3333;
SET max_result_rows = 3334, result_overflow_mode = 'break';
SELECT *
FROM numbers_mt(100000)
FORMAT Null;6666 rows in set. ...resumable_backup_from_snapshot
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 0 | Новая экспериментальная настройка, включающая возобновляемый `BACKUP FROM SNAPSHOT`. |
Включает возобновляемый BACKUP FROM SNAPSHOT: неудачную попытку можно повторить без повторного копирования
элементов уже завершённых батчей. Доступно только в ClickHouse Cloud для пунктов назначения
S3 и AzureBlobStorage в виде каталогов. В сборках ClickHouse с открытым исходным кодом, где
сам BACKUP FROM SNAPSHOT недоступен, включение этой настройки приводит к ошибке BACKUP с WRONG_BACKUP_SETTINGS.
rows_before_aggregation
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.8 | 0 | Возвращает точное значение статистики rows_before_aggregation; показывает количество строк, прочитанных до агрегации |
Если включено, ClickHouse будет возвращать точное значение статистики rows_before_aggregation, которая показывает количество строк, прочитанных до агрегации
run_query_in_background
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 0 | Новая настройка для выполнения запроса в фоновом режиме, независимо от подключения, отправившего запрос, с отбрасыванием результата. |
Если включено, сервер планирует выполнение запроса в фоновом режиме, немедленно возвращает пустой успешный результат и выполняет запрос до завершения независимо от состояния подключения.
Фоновый запрос не сохраняется после перезапуска сервера. При остановке сервера к нему применяются те же настройки сервера, что и к обычному запросу: shutdown_wait_unfinished_queries определяет, отменить запрос или дождаться его завершения (записи в очереди в любом случае отбрасываются без записи в system.query_log), а shutdown_wait_unfinished ограничивает время ожидания сервером.
Отслеживайте запрос по его query_id: в system.processes во время выполнения и в system.query_log после завершения и сброса записи журнала запросов на диск.
Применяется к запросам, полученным по нативным TCP- и HTTP-протоколам. При использовании HTTP передавайте настройку как URL-параметр. Её нельзя изменить с помощью SET; включайте её для каждого запроса либо на уровне пользователя или профиля.
Основной сценарий использования — длительный INSERT ... SELECT, который не должен быть потерян при разрыве клиентского подключения.
secondary_indices_enable_bulk_filtering
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.5 | 1 | Новый алгоритм фильтрации с использованием индексов пропуска данных |
Включает алгоритм пакетной фильтрации для индексов. Предполагается, что он всегда эффективнее, но эта настройка оставлена для совместимости и дополнительного контроля.
select
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | Новая настройка для обёртывания запроса в `SELECT <expr_list> FROM (<query>)`. |
Оборачивает запрос в подзапрос с явным списком выражений SELECT. Если значение не пустое, запрос, формирующий результат, оборачивается в SELECT <expr_list> FROM (<query>).
Это настройка построения запроса, которую движок применяет к разобранному запросу, оборачивая его в производную таблицу. Поэтому она сочетается с существующим запросом и работает с любым протоколом: её можно передать через URL-параметр HTTP-запроса, предложение SETTINGS в запросе или профиль пользователя.
Она задаёт форму запросов SELECT / UNION, формирующих результат. Для запроса записи (INSERT … SELECT, CREATE … AS SELECT) она действует, только если исходный SELECT содержит её в собственном предложении SETTINGS; значение, унаследованное из профиля или сеанса либо заданное в самом операторе INSERT / CREATE, не распространяется на исходный SELECT — это то же правило нераспространения, что и для любой другой настройки.
select_sequential_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
Примеры:
SELECT timeZone(), serverTimeZone() FORMAT CSV
"Europe/Berlin","Europe/Berlin"SELECT timeZone(), serverTimeZone() SETTINGS session_timezone = 'Asia/Novosibirsk' FORMAT CSV
"Asia/Novosibirsk","Europe/Berlin"Назначьте внутреннему DateTime без явно заданного часового пояса часовой пояс сеанса 'America/Denver':
SELECT toDateTime64(toDateTime64('1999-12-12 23:23:23.123', 3), 3, 'Europe/Zurich') SETTINGS session_timezone = 'America/Denver' FORMAT TSV
1999-12-13 07:23:23.123CREATE TABLE test_tz (`d` DateTime('UTC')) ENGINE = Memory AS SELECT toDateTime('2000-01-01 00:00:00', 'UTC');
SELECT *, timeZone() FROM test_tz WHERE d = toDateTime('2000-01-01 00:00:00') SETTINGS session_timezone = 'Asia/Novosibirsk'
0 rows in set.
SELECT *, timeZone() FROM test_tz WHERE d = '2000-01-01 00:00:00' SETTINGS session_timezone = 'Asia/Novosibirsk'
┌Это происходит из-за различий в конвейерах разбора:
toDateTime()без явно указанного часового пояса, используемая в первом запросеSELECT, учитывает настройкуsession_timezoneи глобальный часовой пояс.- Во втором запросе значение DateTime разбирается из строки и наследует тип и часовой пояс существующего столбца
d. Поэтому ни настройкаsession_timezone, ни глобальный часовой пояс не учитываются.
См. также
set_overflow_mode
Определяет, что произойдёт, если объём данных превысит одно из ограничений.
Возможные значения:
throw: сгенерировать исключение (по умолчанию).break: остановить выполнение запроса и вернуть частичный результат, как если бы исходные данные закончились.
single_join_prefer_left_table
Для одиночного JOIN при неоднозначности идентификатора использовать левую таблицу
skip_redundant_aliases_in_udf
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.12 | 0 | Если включено, позволяет использовать одну и ту же пользовательскую функцию несколько раз для нескольких материализованных столбцов в одной таблице. |
Избыточные псевдонимы не используются (не подставляются) в пользовательских функциях, что упрощает их использование.
Возможные значения:
- 1 — Псевдонимы пропускаются (заменяются своими выражениями) в UDF.
- 0 — Псевдонимы не пропускаются (не заменяются своими выражениями) в UDF.
Пример
Разница между включенным и отключенным состоянием:
Запрос:
SET skip_redundant_aliases_in_udf = 0;
CREATE FUNCTION IF NOT EXISTS test_03274 AS ( x ) -> ((x + 1 as y, y + 2));
EXPLAIN SYNTAX SELECT test_03274(4 + 2);Результат:
SELECT ((4 + 2) + 1 AS y, y + 2)Запрос:
SET skip_redundant_aliases_in_udf = 1;
CREATE FUNCTION IF NOT EXISTS test_03274 AS ( x ) -> ((x + 1 as y, y + 2));
EXPLAIN SYNTAX SELECT test_03274(4 + 2);Результат:
SELECT ((4 + 2) + 1, ((4 + 2) + 1) + 2)sleep_after_receiving_query_ms
Время паузы после получения запроса в TCPHandler
snappy_mode
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.7 | basic | Новая настройка для управления форматом передачи данных, используемым для сжатия snappy при универсальном файловом вводе-выводе и работе с URL. Значение по умолчанию `basic` сохраняет обратную совместимость с чтением блокового формата Hadoop snappy; HTTP `Content-Encoding: snappy` всегда использует формат framing независимо от этой настройки. |
Управляет форматом передачи данных, используемым для сжатия snappy при универсальных путях файлового ввода-вывода, таких как file и url. HTTP Content-Encoding: snappy всегда использует формат framing и не учитывает эту настройку.
Обратите внимание: необработанный блоковый формат snappy, создаваемый одним вызовом snappy::Compress (например, полезная нагрузка протокола Prometheus remote, обрабатываемая SnappyBasicReadBuffer), представляет собой отдельный формат передачи данных, специфичный для протокола, и не управляется этой настройкой.
Возможные значения:
basic— блоковый формат Hadoop snappy. Совместим с файлами, которые Hadoop читает и записывает. Поддерживает и чтение, и запись.framed— формат framing для Snappy, стандартный стриминг-формат, определённый Google. Поддерживает и чтение, и запись.
sort
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | Новая настройка для добавления простого предложения ORDER BY к запросу. |
Добавляет к запросу простое предложение ORDER BY, оборачивая его в подзапрос. Принимает разделённый запятыми список идентификаторов или позиционных ссылок на столбцы (положительных целых чисел) с необязательным префиксом + (ASC) или - (DESC). Пример: sort=a,-b сортирует по a по возрастанию, а по b — по убыванию; sort=1,-2 сортирует по первому столбцу по возрастанию, а по второму — по убыванию. Нельзя использовать вместе с order.
Это настройка построения запроса, которую движок применяет к разобранному запросу, оборачивая его в производную таблицу. Поэтому она сочетается с существующим запросом и работает с любым протоколом: её можно передать через URL-параметр HTTP-запроса, предложение SETTINGS внутри запроса или профиль пользователя.
Она влияет на запросы SELECT / UNION, возвращающие результаты. Для запроса записи (INSERT … SELECT, CREATE … AS SELECT) она действует, только если исходный SELECT содержит её в собственном предложении SETTINGS; значение, унаследованное из профиля или сеанса либо заданное в самом операторе INSERT / CREATE, не распространяется на исходный SELECT — как и в случае с любой другой настройкой.
sort_overflow_mode
Определяет, что произойдёт, если количество строк, полученных перед сортировкой, превысит одно из ограничений.
Возможные значения:
throw: сгенерировать исключение.break: остановить выполнение запроса и вернуть частичный результат.
splitby_max_substrings_includes_remaining_string
Управляет тем, будет ли функция splitBy*() с аргументом max_substrings > 0 включать оставшуюся часть строки в последний элемент результирующего массива.
Возможные значения:
0- Оставшаяся часть строки не будет включена в последний элемент результирующего массива.1- Оставшаяся часть строки будет включена в последний элемент результирующего массива. Такое поведение соответствует функцииsplit()в Spark и методу 'string.split()' в Python.
statistics_max_set_size_for_exact_selectivity_estimation
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 10000 | Новая настройка, ограничивающая затраты на оценку селективности `IN` с большим множеством: при превышении лимита оценщик использует размер множества и охватывающий его диапазон вместо точных диапазонов. До версии 26.8 оценка не ограничивалась, поэтому предыдущее значение — 0 (без ограничений), а `compatibility` с более ранней версией восстанавливает точные диапазоны для множеств любого размера. |
Максимальный размер множества в правой части оператора IN, для которого оценщик селективности определяет точные диапазоны, охватываемые множеством. Для этого требуется по одному Field на элемент, сортировка и одна проверка статистики на элемент, что при большом множестве становится основной частью планирования запроса. При превышении этого лимита оценщик вычисляет селективность по размеру множества и охватывающему его диапазону: выполняется один линейный проход по множеству без сортировки и проверок статистики для каждого элемента. Ноль означает отсутствие ограничений.
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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.4 | 600000 | Время ожидания получения блокировки файлового кэша для резервирования места под временные данные |
Время ожидания получения блокировки файлового кэша для резервирования места под временные данные
throw_if_no_data_to_insert
Разрешает или запрещает пустые INSERT-запросы; по умолчанию включена (при пустой вставке генерируется ошибка). Применяется только к INSERT-запросам, выполняемым через clickhouse-client или gRPC-интерфейс.
time_series_prefer_recent_samples_table
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 1 | Новая настройка: читать из таблицы последних образцов таблицы TimeSeries, если запрошенный временной диапазон целиком укладывается в её окно TTL. |
Читать из таблицы последних образцов таблицы TimeSeries вместо основной таблицы образцов, если весь запрошенный временной диапазон целиком укладывается в окно TTL таблицы последних образцов (см. настройку recent_samples_ttl_seconds движка таблицы TimeSeries).
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:
┌──idx─┬─────i─┐
│ 1 │ 1 │
│ 2 │ NULL │
│ 3 │ 3 │
└──────┴───────┘Запрос:
SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 0;Результат:
┌──idx─┬────i─┐
│ 1 │ 1 │
└──────┴──────┘Запрос:
SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 1;Результат:
┌──idx─┬─────i─┐
│ 1 │ 1 │
│ 2 │ NULL │
└──────┴───────┘См. также
traverse_shadow_remote_data_paths
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.3 | 0 | Обходить теневой каталог при запросе system.remote_data_paths. |
Обходить замороженные данные (теневой каталог) наряду с данными самой таблицы при запросе system.remote_data_paths
union_default_mode
Задает режим объединения результатов SELECT-запросов. Эта настройка используется только при работе с UNION, если явно не указаны UNION ALL или UNION DISTINCT.
Возможные значения:
'DISTINCT'— ClickHouse выводит строки, полученные в результате объединения запросов, удаляя дублирующиеся строки.'ALL'— ClickHouse выводит все строки, полученные в результате объединения запросов, включая дублирующиеся строки.''— ClickHouse генерирует исключение при использованииUNION.
См. примеры в разделе UNION.
unknown_packet_in_send_data
Отправлять неизвестный пакет вместо N-го пакета данных
variant_throw_on_type_mismatch
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.4 | 1 | Новая настройка для управления поведением при несоответствии типов в реализации Variant по умолчанию |
При применении функции к столбцу Variant с использованием реализации по умолчанию эта настройка определяет, что происходит со строками, фактический тип которых несовместим с функцией:
true(по умолчанию) — сгенерировать исключение.false— вместо этого возвращатьNULLдля таких строк.
wait_changes_become_visible_after_commit_mode
Ожидать, пока закоммиченные изменения действительно станут видимыми в последнем снимке
рабочая нагрузка
Имя рабочей нагрузки, используемой для доступа к ресурсам
write_full_path_in_iceberg_metadata
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.8 | 0 | Новая настройка. |
Записывать полные пути (включая s3://) в файлы метаданных Iceberg.
zstd_window_log_max
Позволяет задать максимальный логарифм окна для ZSTD (не используется для семейства MergeTree)