Перейти к основному содержимому
Перейти к основному содержимому

Настройки сессии

Все настройки ниже также доступны в таблице system.settings. Эти настройки автогенерируются из source.

add_http_cors_header

Тип: Bool

Значение по умолчанию: 0

Добавить HTTP CORS заголовок.

additional_result_filter

Тип: String

Значение по умолчанию:

Дополнительное выражение фильтра, которое применяется к результату запроса SELECT. Эта настройка не применяется к подзапросам.

Пример

additional_table_filters

Тип: Map

Значение по умолчанию:

Дополнительное выражение фильтра, которое применяется после чтения из указанной таблицы.

Пример

aggregate_functions_null_for_empty

Тип: Bool

Значение по умолчанию: 0

Включает или отключает переписывание всех агрегатных функций в запросе, добавляя суффикс -OrNull к ним. Включите для совместимости со стандартом SQL. Это реализовано через переписывание запроса (аналогично настройке count_distinct_implementation) для получения согласованных результатов для распределенных запросов.

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

  • 0 — Отключено.
  • 1 — Включено.

Пример

Рассмотрим следующий запрос с агрегатными функциями:

При aggregate_functions_null_for_empty = 0 результат будет:

При aggregate_functions_null_for_empty = 1 результат будет:

aggregation_in_order_max_block_bytes

Тип: UInt64

Значение по умолчанию: 50000000

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

aggregation_memory_efficient_merge_threads

Тип: UInt64

Значение по умолчанию: 0

Количество потоков для слияния промежуточных результатов агрегации в режиме экономии памяти. Чем больше, тем больше потребляется памяти. 0 означает - то же самое, что и 'max_threads'.

allow_aggregate_partitions_independently

Тип: Bool

Значение по умолчанию: 0

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

allow_archive_path_syntax

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 1

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

allow_asynchronous_read_from_io_pool_for_merge_tree

Тип: Bool

Значение по умолчанию: 0

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

allow_changing_replica_until_first_data_packet

Тип: Bool

Значение по умолчанию: 0

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

allow_create_index_without_type

Тип: Bool

Значение по умолчанию: 0

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

allow_custom_error_code_in_throwif

Тип: Bool

Значение по умолчанию: 0

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

allow_ddl

Тип: Bool

Значение по умолчанию: 1

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

allow_deprecated_database_ordinary

Тип: Bool

Значение по умолчанию: 0

Разрешить создание баз данных с устаревшим движком Ordinary.

allow_deprecated_error_prone_window_functions

Тип: Bool

Значение по умолчанию: 0

Разрешить использование устаревших подверженных ошибкам оконных функций (neighbor, runningAccumulate, runningDifferenceStartingWithFirstValue, runningDifference).

allow_deprecated_snowflake_conversion_functions

Тип: Bool

Значение по умолчанию: 0

Функции snowflakeToDateTime, snowflakeToDateTime64, dateTimeToSnowflake и dateTime64ToSnowflake устарели и по умолчанию отключены. Пожалуйста, используйте функции snowflakeIDToDateTime, snowflakeIDToDateTime64, dateTimeToSnowflakeID и dateTime64ToSnowflakeID вместо них.

Чтобы повторно включить устаревшие функции (например, в переходный период), установите этот параметр в true.

allow_deprecated_syntax_for_merge_tree

Тип: Bool

Значение по умолчанию: 0

Разрешить создание таблиц *MergeTree с устаревшим синтаксисом определения движка.

allow_distributed_ddl

Тип: Bool

Значение по умолчанию: 1

Если установлено в true, пользователь может выполнять распределенные DDL-запросы.

allow_drop_detached

Тип: Bool

Значение по умолчанию: 0

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

allow_execute_multiif_columnar

Тип: Bool

Значение по умолчанию: 1

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

allow_experimental_analyzer

Тип: Bool

Значение по умолчанию: 1

Разрешить использование нового анализатора запросов.

allow_experimental_codecs

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

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

allow_experimental_database_glue_catalog

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешить экспериментальный движок базы данных DataLakeCatalog с catalog_type = 'glue'

allow_experimental_database_iceberg

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешить экспериментальный движок базы данных DataLakeCatalog с catalog_type = 'iceberg'

allow_experimental_database_materialized_postgresql

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешить создание базы данных с Engine=MaterializedPostgreSQL(...).

allow_experimental_database_unity_catalog

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешить экспериментальный движок базы данных DataLakeCatalog с catalog_type = 'unity'

allow_experimental_dynamic_type

Тип: Bool

Значение по умолчанию: 1

Разрешает создание типа данных Dynamic.

allow_experimental_full_text_index

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Если установлено в true, разрешить использование экспериментального полнотекстового индекса.

allow_experimental_funnel_functions

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Включить экспериментальные функции для анализа воронки.

allow_experimental_hash_functions

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Включить экспериментальные хеш-функции.

allow_experimental_inverted_index

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Если установлено в true, разрешить использование экспериментального инвертированного индекса.

allow_experimental_join_condition

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Поддержка соединения с неравными условиями, которые включают столбцы из обеих таблиц. Например, t1.y < t2.y.

allow_experimental_join_right_table_sorting

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Если установлено в true и выполняются условия join_to_sort_minimum_perkey_rows и join_to_sort_maximum_table_rows, пересортируйте правую таблицу по ключу для повышения производительности в левом или внутреннем хеш-соединении.

allow_experimental_json_type

Тип: Bool

Значение по умолчанию: 1

Разрешает создание типа данных JSON.

allow_experimental_kafka_offsets_storage_in_keeper

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешить экспериментальную функцию хранения связанных с Kafka смещений в ClickHouse Keeper. При включении можно задать ClickHouse Keeper путь и имя реплики для движка таблицы Kafka. В результате вместо обычного движка Kafka будет использоваться новый тип движка хранения, который хранит зафиксированные смещения в первую очередь в ClickHouse Keeper.

allow_experimental_kusto_dialect

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Включить Kusto Query Language (KQL) - альтернативу SQL.

allow_experimental_live_view

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешить создание устаревшего LIVE VIEW.

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

  • 0 — Работа с live-представлениями отключена.
  • 1 — Работа с live-представлениями включена.

allow_experimental_materialized_postgresql_table

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешить использование движка таблицы MaterializedPostgreSQL. По умолчанию отключено, так как эта функция экспериментальная.

allow_experimental_nlp_functions

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Включить экспериментальные функции для обработки естественного языка.

allow_experimental_object_type

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешить устаревший тип данных Object.

allow_experimental_parallel_reading_from_replicas

Beta feature. Learn more.

Тип: UInt64

Значение по умолчанию: 0

Использовать до max_parallel_replicas количество реплик из каждого шарда для выполнения запроса SELECT. Чтение параллелится и координируется динамически. 0 - отключено, 1 - включено, отключать в случае ошибки тихо, 2 - включено, выбрасывать исключение в случае ошибки.

allow_experimental_prql_dialect

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Включить PRQL - альтернативу SQL.

allow_experimental_query_deduplication

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Экспериментальная дедупликация данных для запросов SELECT на основе UUID частей.

allow_experimental_shared_set_join

Experimental feature. Learn more.
ClickHouse Cloud only

Тип: Bool

Значение по умолчанию: 0

Имеет эффект только в ClickHouse Cloud. Разрешить создание ShareSet и SharedJoin.

allow_experimental_statistics

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешает определение столбцов с statistics и manipulate statistics.

allow_experimental_time_series_table

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешает создание таблиц с движком TimeSeries.

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

  • 0 — движок таблицы TimeSeries отключён.
  • 1 — движок таблицы TimeSeries включён.

allow_experimental_ts_to_grid_aggregate_function

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Экспериментальная агрегационная функция tsToGrid для повторного дискретизации временных рядов, похожих на Prometheus. Только для облака.

allow_experimental_variant_type

Тип: Bool

Значение по умолчанию: 1

Разрешает создание типа данных Variant.

allow_experimental_vector_similarity_index

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешить экспериментальный векторный индекс сходства.

allow_experimental_window_view

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Включить WINDOW VIEW. Не достаточно зрелая функция.

allow_general_join_planning

Тип: Bool

Значение по умолчанию: 1

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

allow_get_client_http_header

Тип: Bool

Значение по умолчанию: 0

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

allow_hyperscan

Тип: Bool

Значение по умолчанию: 1

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

allow_introspection_functions

Тип: Bool

Значение по умолчанию: 0

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

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

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

См. также

allow_materialized_view_with_bad_select

Тип: Bool

Значение по умолчанию: 1

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

allow_named_collection_override_by_default

Тип: Bool

Значение по умолчанию: 1

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

allow_non_metadata_alters

Тип: Bool

Значение по умолчанию: 1

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

allow_nonconst_timezone_arguments

Тип: Bool

Значение по умолчанию: 0

Разрешить неконстантные аргументы часового пояса в некоторых временных функциях, таких как toTimeZone(), fromUnixTimestamp*(), snowflakeToDateTime*().

allow_nondeterministic_mutations

Тип: Bool

Значение по умолчанию: 0

Настройка на уровне пользователя, которая позволяет использовать недетерминированные функции, такие как dictGet, для мутаций на реплицированных таблицах.

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

Пример

allow_nondeterministic_optimize_skip_unused_shards

Тип: Bool

Значение по умолчанию: 0

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

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

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

allow_not_comparable_types_in_comparison_functions

Тип: Bool

Значение по умолчанию: 0

Разрешает или ограничивает использование несравнимых типов (таких как JSON/Object/AggregateFunction) в функциях сравнения equal/less/greater/etc.

allow_not_comparable_types_in_order_by

Тип: Bool

Значение по умолчанию: 0

Разрешает или ограничивает использование несравнимых типов (таких как JSON/Object/AggregateFunction) в ключах ORDER BY.

allow_prefetched_read_pool_for_local_filesystem

Тип: Bool

Значение по умолчанию: 0

Предпочитать предварительно извлечённый пул потоков, если все части находятся на локальной файловой системе.

allow_prefetched_read_pool_for_remote_filesystem

Тип: Bool

Значение по умолчанию: 1

Предпочитать предварительно извлечённый пул потоков, если все части находятся на удалённой файловой системе.

allow_push_predicate_ast_for_distributed_subqueries

Тип: Bool

Значение по умолчанию: 1

Разрешает предикат на уровне AST для распределённых подзапросов с включенным анализатором.

allow_push_predicate_when_subquery_contains_with

Тип: Bool

Значение по умолчанию: 1

Разрешает предикат, когда подзапрос содержит WITH предложение.

allow_reorder_prewhere_conditions

Тип: Bool

Значение по умолчанию: 1

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

allow_settings_after_format_in_insert

Тип: Bool

Значение по умолчанию: 0

Контролирует, разрешено ли использование SETTINGS после FORMAT в запросах INSERT. Не рекомендуется использовать это, так как это может интерпретировать часть SETTINGS как значения.

Пример:

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

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

  • 0 — Запретить.
  • 1 — Разрешить.
примечание

Используйте эту настройку только для обратной совместимости, если ваши случаи использования зависят от старого синтаксиса.

allow_simdjson

Тип: Bool

Значение по умолчанию: 1

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

allow_statistics_optimize

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Разрешает использование статистики для оптимизации запросов.

allow_suspicious_codecs

Тип: Bool

Значение по умолчанию: 0

Если установлено в true, разрешить указание бессмысленных кодеков сжатия.

allow_suspicious_fixed_string_types

Тип: Bool

Значение по умолчанию: 0

В операторе CREATE TABLE разрешает создание столбцов типа FixedString(n) с n > 256. FixedString с длиной >= 256 является подозрительным и, скорее всего, указывает на неправильное использование.

allow_suspicious_indices

Тип: Bool

Значение по умолчанию: 0

Запретить первичные/вторичные индексы и ключи сортировки с идентичными выражениями.

allow_suspicious_low_cardinality_types

Тип: Bool

Значение по умолчанию: 0

Разрешает или ограничивает использование LowCardinality с типами данных с фиксированным размером 8 байт или меньше: числовыми типами данных и FixedString(8_bytes_or_less).

Для небольших фиксированных значений использование LowCardinality обычно неэффективно, поскольку ClickHouse хранит числовой индекс для каждой строки. В результате:

  • Использование дискового пространства может увеличиваться.
  • Потребление ОЗУ может возрасти в зависимости от размера словаря.
  • Некоторые функции могут работать медленнее из-за дополнительных операций кодирования/декодирования.

Время слияния в таблицах с движком MergeTree может увеличиться по всем описанным выше причинам.

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

  • 1 — Использование LowCardinality не ограничено.
  • 0 — Использование LowCardinality ограничено.

allow_suspicious_primary_key

Тип: Bool

Значение по умолчанию: 0

Разрешить подозрительный PRIMARY KEY/ORDER BY для MergeTree (например, SimpleAggregateFunction).

allow_suspicious_ttl_expressions

Тип: Bool

Значение по умолчанию: 0

Отклонять выражения TTL, которые не зависят ни от одного из столбцов таблицы. Это указывает на ошибку пользователя в большинстве случаев.

allow_suspicious_types_in_group_by

Тип: Bool

Значение по умолчанию: 0

Разрешает или ограничивает использование типов Variant и Dynamic в ключах GROUP BY.

allow_suspicious_types_in_order_by

Тип: Bool

Значение по умолчанию: 0

Разрешает или ограничивает использование типов Variant и Dynamic в ключах ORDER BY.

allow_suspicious_variant_types

Тип: Bool

Значение по умолчанию: 0

В операторе CREATE TABLE разрешает указывать тип Variant с похожими вариантными типами (например, с различными числовыми или датированными типами). Включение этой настройки может ввести некоторую двусмысленность при работе со значениями с похожими типами.

allow_unrestricted_reads_from_keeper

Тип: Bool

Значение по умолчанию: 0

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

alter_move_to_space_execute_async

Тип: Bool

Значение по умолчанию: 0

Выполнять ALTER TABLE MOVE ... TO [DISK|VOLUME] асинхронно.

alter_partition_verbose_result

Тип: Bool

Значение по умолчанию: 0

Включает или отключает отображение информации о частях, к которым успешно применены операции манипулирования с разделами и частями. Применимо к ATTACH PARTITION|PART и к FREEZE PARTITION.

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

  • 0 — отключить подробности.
  • 1 — включить подробности.

Пример

alter_sync

Тип: UInt64

Значение по умолчанию: 1

Позволяет настроить ожидание выполнения действий на репликах при ALTER, OPTIMIZE или TRUNCATE запросах.

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

  • 0 — Не ждать.
  • 1 — Ждать собственного выполнения.
  • 2 — Ждать выполнения всеми.

Значение по умолчанию для облака: 0.

примечание

alter_sync применимо только к Replicated таблицам, не действует на изменения не Replicated таблиц.

analyze_index_with_space_filling_curves

Тип: Bool

Значение по умолчанию: 1

Если таблица имеет кривую, заполняющую пространство, в её индексе, например, ORDER BY mortonEncode(x, y) или ORDER BY hilbertEncode(x, y), и запрос имеет условия на её аргументы, например, x >= 10 AND x <= 20 AND y >= 20 AND y <= 30, использовать кривую, заполняющую пространство, для анализа индекса.

analyzer_compatibility_join_using_top_level_identifier

Тип: Bool

Значение по умолчанию: 0

Заставить разрешать идентификаторы в JOIN USING из проекции (например, в SELECT a + 1 AS b FROM t1 JOIN t2 USING (b) соединение будет выполнено с использованием t1.a + 1 = t2.b, а не t1.b = t2.b).

any_join_distinct_right_table_keys

Тип: Bool

Значение по умолчанию: 0

Включает поведение старого сервера ClickHouse в операциях ANY INNER|LEFT JOIN.

примечание

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

См. также:

apply_deleted_mask

Тип: Bool

Значение по умолчанию: 1

Включает фильтрацию удалённых строк с помощью легковесного DELETE. Если отключено, запрос сможет прочитать эти строки. Это полезно для отладки и "восстановления" сценариев.

apply_mutations_on_fly

Тип: Bool

Значение по умолчанию: 0

Если true, мутации (UPDATE и DELETE), которые не материализованы в части данных, будут применяться при SELECT.

apply_settings_from_server

Тип: Bool

Значение по умолчанию: 1

Должен ли клиент принимать настройки от сервера.

Эта настройка влияет только на операции, выполняемые на стороне клиента, в частности на разбор ввода данных INSERT и форматирование результата запроса. Большая часть выполнения запроса выполняется на сервере и не зависимая от этой настройки.

Обычно эта настройка должна быть установлена в профиле пользователя (users.xml или запросы, такие как ALTER USER), а не через клиента (аргументы командной строки клиента, запрос SET или секция SETTINGS запроса SELECT). Через клиента её можно изменить на false, но нельзя изменить на true (поскольку сервер не будет отправлять настройки, если у пользователя в профиле установлено apply_settings_from_server = false).

Обратите внимание, что изначально (24.12) была серверная настройка (send_settings_to_client), но позже она была заменена на эту клиентскую настройку для улучшения удобства использования.

asterisk_include_alias_columns

Тип: Bool

Значение по умолчанию: 0

Включать ALIAS столбцы для запросов с подстановочными знаками (SELECT *).

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

  • 0 - отключено
  • 1 - включено

asterisk_include_materialized_columns

Тип: Bool

Значение по умолчанию: 0

Включать MATERIALIZED столбцы для запросов с подстановочными знаками (SELECT *).

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

  • 0 - отключено
  • 1 - включено

async_insert

Тип: Bool

Значение по умолчанию: 0

Если true, данные из запроса INSERT помещаются в очередь и позже записываются в таблицу в фоне. Если wait_for_async_insert установлено в false, запрос INSERT обрабатывается практически мгновенно, иначе клиент будет ждать, пока данные не будут записаны в таблицу.

async_insert_busy_timeout_decrease_rate

Тип: Double

Значение по умолчанию: 0.2

Экспоненциальная скорость уменьшения адаптивного тайм-аута для асинхронных вставок.

async_insert_busy_timeout_increase_rate

Тип: Double

Значение по умолчанию: 0.2

Экспоненциальная скорость увеличения адаптивного тайм-аута для асинхронных вставок.

async_insert_busy_timeout_max_ms

Тип: Миллисекунды

Значение по умолчанию: 200

Максимальное время ожидания перед сохранением собранных данных за запрос после появления первых данных.

async_insert_busy_timeout_min_ms

Тип: Миллисекунды

Значение по умолчанию: 50

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

async_insert_deduplicate

Тип: Bool

Значение по умолчанию: 0

Для асинхронных запросов INSERT в реплицируемой таблице указывает, что должна быть выполнена дедупликация вставляемых блоков.

async_insert_max_data_size

Тип: UInt64

Значение по умолчанию: 10485760

Максимальный размер в байтах непарсированных данных, собираемых за запрос до момента вставки.

async_insert_max_query_number

Тип: UInt64

Значение по умолчанию: 450

Максимальное число запросов на вставку до момента их вставки.

async_insert_poll_timeout_ms

Тип: Миллисекунды

Значение по умолчанию: 10

Тайм-аут для получения данных из очереди асинхронной вставки.

async_insert_use_adaptive_busy_timeout

Тип: Bool

Значение по умолчанию: 1

Если установлено в true, используется адаптивный тайм-аут для асинхронных вставок.

async_query_sending_for_remote

Тип: Bool

Значение по умолчанию: 1

Включает асинхронное создание соединения и отправку запросов при выполнении удалённого запроса.

Включено по умолчанию.

async_socket_for_remote

Тип: Bool

Значение по умолчанию: 1

Включает асинхронное чтение из сокета при выполнении удалённого запроса.

Включено по умолчанию.

azure_allow_parallel_part_upload

Тип: Bool

Значение по умолчанию: 1

Используйте несколько потоков для многочастичной загрузки в Azure.

azure_check_objects_after_upload

Тип: Bool

Значение по умолчанию: 0

Проверьте каждый загруженный объект в объектном хранилище Azure, чтобы убедиться, что загрузка была успешной.

azure_create_new_file_on_insert

Тип: Bool

Значение по умолчанию: 0

Включает или отключает создание нового файла при каждой вставке в таблицы с движком Azure.

azure_ignore_file_doesnt_exist

Тип: Bool

Значение по умолчанию: 0

Игнорировать отсутствие файла, если он не существует при чтении определённых ключей.

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

  • 1 — SELECT возвращает пустой результат.
  • 0 — SELECT выбрасывает исключение.

azure_list_object_keys_size

Тип: UInt64

Значение по умолчанию: 1000

Максимальное количество файлов, которое может быть возвращено в пакете запросом ListObject.

azure_max_blocks_in_multipart_upload

Тип: UInt64

Значение по умолчанию: 50000

Максимальное количество блоков в многочастичной загрузке для Azure.

azure_max_inflight_parts_for_one_file

Тип: UInt64

Значение по умолчанию: 20

Максимальное количество одновременно загружаемых частей в запросе многочастичной загрузки. 0 означает без ограничений.

azure_max_single_part_copy_size

Тип: UInt64

Значение по умолчанию: 268435456

Максимальный размер объекта для копирования с использованием копирования из одной части в объектное хранилище Azure.

azure_max_single_part_upload_size

Тип: UInt64

Значение по умолчанию: 104857600

Максимальный размер объекта для загрузки с использованием однопартийной загрузки в объектное хранилище Azure.

azure_max_single_read_retries

Тип: UInt64

Значение по умолчанию: 4

Максимальное количество повторных попыток чтения из объектного хранилища Azure.

azure_max_unexpected_write_error_retries

Тип: UInt64

Значение по умолчанию: 4

Максимальное количество повторных попыток в случае неожиданных ошибок при записи в объектное хранилище Azure.

azure_max_upload_part_size

Тип: UInt64

Значение по умолчанию: 5368709120

Максимальный размер части для загрузки при многочастичной загрузке в объектное хранилище Azure.

azure_min_upload_part_size

Тип: UInt64

Значение по умолчанию: 16777216

Минимальный размер части для загрузки при многочастичной загрузке в объектное хранилище Azure.

azure_sdk_max_retries

Тип: UInt64

Значение по умолчанию: 10

Максимальное количество повторных попыток в azure sdk.

azure_sdk_retry_initial_backoff_ms

Тип: UInt64

Значение по умолчанию: 10

Минимальная задержка между повторными попытками в azure sdk.

azure_sdk_retry_max_backoff_ms

Тип: UInt64

Значение по умолчанию: 1000

Максимальная задержка между повторными попытками в azure sdk.

azure_skip_empty_files

Тип: Bool

Значение по умолчанию: 0

Включает или отключает пропуск пустых файлов в S3 движке.

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

  • 0 — SELECT выбрасывает исключение, если пустой файл не совместим с запрашиваемым форматом.
  • 1 — SELECT возвращает пустой результат для пустого файла.

azure_strict_upload_part_size

Тип: UInt64

Значение по умолчанию: 0

Точный размер части для загрузки при многочастичной загрузке в объектное хранилище Azure.

azure_throw_on_zero_files_match

Тип: Bool

Значение по умолчанию: 0

Вызывает ошибку, если не найдено ни одного файла по правилам раскрытия шаблона.

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

  • 1 — SELECT выбрасывает исключение.
  • 0 — SELECT возвращает пустой результат.

azure_truncate_on_insert

Тип: Bool

Значение по умолчанию: 0

Включает или отключает усечение перед вставкой в таблицы с движком Azure.

azure_upload_part_size_multiply_factor

Тип: UInt64

Значение по умолчанию: 2

Умножьте azure_min_upload_part_size на этот коэффициент каждый раз, когда azure_multiply_parts_count_threshold частей были загружены из одной операции записи в объектное хранилище Azure.

azure_upload_part_size_multiply_parts_count_threshold

Тип: UInt64

Значение по умолчанию: 500

Каждый раз, когда это количество частей было загружено в объектное хранилище Azure, azure_min_upload_part_size умножается на azure_upload_part_size_multiply_factor.

backup_restore_batch_size_for_keeper_multi

Тип: UInt64

Значение по умолчанию: 1000

Максимальный размер пакета для многочастичного запроса к [Zoo]Keeper во время резервного копирования или восстановления.

backup_restore_batch_size_for_keeper_multiread

Тип: UInt64

Значение по умолчанию: 10000

Максимальный размер пакета для многократного чтения запроса к [Zoo]Keeper во время резервного копирования или восстановления.

backup_restore_failure_after_host_disconnected_for_seconds

Тип: UInt64

Значение по умолчанию: 3600

Если хост во время операции BACKUP ON CLUSTER или RESTORE ON CLUSTER не восстанавливает свой эфемерный узел 'alive' в ZooKeeper в течение этого времени, то все резервное копирование или восстановление считается неудачным. Это значение должно быть больше, чем любое разумное время для повторного подключения хоста к ZooKeeper после сбоя. Нулевое значение означает без ограничений.

backup_restore_finish_timeout_after_error_sec

Тип: UInt64

Значение по умолчанию: 180

Как долго инициатор должен ждать, чтобы другие хосты отреагировали на узел 'error' и остановили свою работу по текущей операции BACKUP ON CLUSTER или RESTORE ON CLUSTER.

backup_restore_keeper_fault_injection_probability

Тип: Float

Значение по умолчанию: 0

Приблизительная вероятность сбоя для запроса keeper во время резервного копирования или восстановления. Допустимые значения находятся в интервале [0.0f, 1.0f].

backup_restore_keeper_fault_injection_seed

Тип: UInt64

Значение по умолчанию: 0

0 - случайное значение seed, иначе значение настройки.

backup_restore_keeper_max_retries

Тип: UInt64

Значение по умолчанию: 1000

Максимальное количество повторных попыток операций [Zoo]Keeper в середине операции BACKUP или RESTORE. Должно быть достаточно большим, чтобы вся операция не завершилась из-за временного сбоя [Zoo]Keeper.

backup_restore_keeper_max_retries_while_handling_error

Тип: UInt64

Значение по умолчанию: 20

Максимальное количество повторных попыток операций [Zoo]Keeper при обработке ошибки операции BACKUP ON CLUSTER или RESTORE ON CLUSTER.

backup_restore_keeper_max_retries_while_initializing

Тип: UInt64

Значение по умолчанию: 20

Максимальное количество повторных попыток операций [Zoo]Keeper во время инициализации операции BACKUP ON CLUSTER или RESTORE ON CLUSTER.

backup_restore_keeper_retry_initial_backoff_ms

Тип: UInt64

Значение по умолчанию: 100

Начальный тайм-аут задержки для операций [Zoo]Keeper во время резервного копирования или восстановления.

backup_restore_keeper_retry_max_backoff_ms

Тип: UInt64

Значение по умолчанию: 5000

Максимальный тайм-аут задержки для операций [Zoo]Keeper во время резервного копирования или восстановления.

backup_restore_keeper_value_max_size

Тип: UInt64

Значение по умолчанию: 1048576

Максимальный размер данных узла [Zoo]Keeper во время резервного копирования.

backup_restore_s3_retry_attempts

Тип: UInt64

Значение по умолчанию: 1000

Настройка для Aws::Client::RetryStrategy, Aws::Client сам выполняет повторные попытки, 0 означает отсутствие повторных попыток. Применяется только для резервного копирования/восстановления.

cache_warmer_threads

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 4

Параметр влияет только в ClickHouse Cloud. Количество фоновых потоков для спекулятивной загрузки новых частей данных в файловый кэш, когда включена настройка cache_populated_by_fetch. Ноль для отключения.

calculate_text_stack_trace

Тип: Bool

Значение по умолчанию: 1

Расчёт текстового стека вызовов в случае исключений во время выполнения запроса. Это значение установлено по умолчанию. Для этого требуются поиски символов, которые могут замедлить тесты на фуззинг, когда выполняется огромное количество ошибочных запросов. В нормальных случаях не следует отключать эту опцию.

cancel_http_readonly_queries_on_client_close

Тип: Bool

Значение по умолчанию: 0

Отменяет HTTP запросы только для чтения (например, SELECT), когда клиент закрывает соединение без ожидания ответа.

Значение по умолчанию в облаке: 1.

cast_ipv4_ipv6_default_on_conversion_error

Тип: Bool

Значение по умолчанию: 0

Оператор CAST для типов IPv4, IPv6, функции toIPv4, toIPv6 будут возвращать значение по умолчанию вместо выбрасывания исключения при ошибке преобразования.

cast_keep_nullable

Тип: Bool

Значение по умолчанию: 0

Включает или выключает сохранение типа данных Nullable в операциях CAST.

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

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

  • 0 — Результат CAST имеет точно указанный целевой тип.
  • 1 — Если тип аргумента Nullable, результат CAST преобразуется в Nullable(DestinationDataType).

Примеры

Следующий запрос приводит к точно целевому типу данных:

Результат:

Следующий запрос приводит к модификации Nullable для целевого типа данных:

Результат:

Смотрите также

  • Функция CAST

cast_string_to_dynamic_use_inference

Тип: Bool

Значение по умолчанию: 0

Использование вывода типов во время преобразования String в Dynamic

check_query_single_value_result

Тип: Bool

Значение по умолчанию: 1

Определяет уровень детализации результата запроса CHECK TABLE для движков семейства MergeTree.

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

  • 0 — запрос показывает статус проверки для каждой отдельной части данных таблицы.
  • 1 — запрос показывает общий статус проверки таблицы.

check_referential_table_dependencies

Тип: Bool

Значение по умолчанию: 0

Проверить, что DDL-запрос (например, DROP TABLE или RENAME) не нарушает ссылочные зависимости.

check_table_dependencies

Тип: Bool

Значение по умолчанию: 1

Проверить, что DDL-запрос (например, DROP TABLE или RENAME) не нарушает зависимости.

checksum_on_read

Тип: Bool

Значение по умолчанию: 1

Проверяйте контрольные суммы при чтении. Эта опция включена по умолчанию и должна быть всегда включена в продуктивной среде. Не стоит ожидать пользы от отключения этой настройки. Она может быть использована только для экспериментов и тестов производительности. Настройка применима только для таблиц семейства MergeTree. Контрольные суммы всегда проверяются для других движков таблиц и при получении данных по сети.

cloud_mode

Тип: Bool

Значение по умолчанию: 0

Настройка облачного режима

cloud_mode_database_engine

Тип: UInt64

Значение по умолчанию: 1

Движок базы данных, разрешённый в Cloud. 1 - переписывает DDL, чтобы использовать Replicated базу данных, 2 - переписывает DDL, чтобы использовать Shared базу данных

cloud_mode_engine

Тип: UInt64

Значение по умолчанию: 1

Разрешённое семейство движков в Cloud.

  • 0 - разрешить всё
  • 1 - переписывает DDL, чтобы использовать *ReplicatedMergeTree
  • 2 - переписывает DDL, чтобы использовать SharedMergeTree
  • 3 - переписывает DDL, чтобы использовать SharedMergeTree, за исключением случаев, когда явно указан удалённый диск

UInt64 для минимизации публичной части

cluster_for_parallel_replicas

Beta feature. Learn more.

Тип: String

Значение по умолчанию:

Кластер для шарда, в котором находится текущий сервер

collect_hash_table_stats_during_aggregation

Тип: Bool

Значение по умолчанию: 1

Включить сбор статистики хеш-таблицы для оптимизации выделения памяти

collect_hash_table_stats_during_joins

Тип: Bool

Значение по умолчанию: 1

Включить сбор статистики хеш-таблицы для оптимизации выделения памяти

compatibility

Тип: String

Значение по умолчанию:

Настройка compatibility приводит к тому, что ClickHouse использует стандартные настройки предыдущей версии ClickHouse, где предыдущая версия указывается в настройке.

Если настройки установлены на нестандартные значения, то эти настройки учитываются (только настройки, которые не были изменены, затрагиваются настройкой compatibility).

Эта настройка принимает номер версии ClickHouse в формате строки, как 22.3, 22.8. Пустое значение означает, что эта настройка отключена.

Отключено по умолчанию.

примечание

В ClickHouse Cloud настройка совместимости должна быть установлена поддержкой ClickHouse Cloud. Пожалуйста, откройте обращение, чтобы её установить.

compatibility_ignore_auto_increment_in_create_table

Тип: Bool

Значение по умолчанию: 0

Игнорировать ключевое слово AUTO_INCREMENT в определении столбца, если true, иначе возвращать ошибку. Это упрощает миграцию с MySQL.

compatibility_ignore_collation_in_create_table

Тип: Bool

Значение по умолчанию: 1

Совместимость игнорирует сопоставление в create table.

compile_aggregate_expressions

Тип: Bool

Значение по умолчанию: 1

Включает или отключает JIT-компиляцию агрегатных функций в нативный код. Включение этой настройки может улучшить производительность.

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

  • 0 — Аггрегация выполняется без JIT-компиляции.
  • 1 — Аггрегация выполняется с использованием JIT-компиляции.

Смотрите также

compile_expressions

Тип: Bool

Значение по умолчанию: 0

Компилировать некоторые скалярные функции и операторы в нативный код. Из-за ошибки в инфраструктуре компилятора LLVM на машинах AArch64 это может привести к разыменованию nullptr и, следовательно, к аварийному завершению работы сервера. Не включайте эту настройку.

compile_sort_description

Тип: Bool

Значение по умолчанию: 1

Компилировать описание сортировки в нативный код.

connect_timeout

Тип: Секунды

Значение по умолчанию: 10

Тайм-аут подключения, если нет реплик.

connect_timeout_with_failover_ms

Тип: Миллисекунды

Значение по умолчанию: 1000

Тайм-аут в миллисекундах для подключения к удалённому серверу с движком распределённой таблицы, если в определении кластера используются разделы 'shard' и 'replica'. Если подключение не удалось, выполняется несколько попыток подключения к различным репликам.

connect_timeout_with_failover_secure_ms

Тип: Миллисекунды

Значение по умолчанию: 1000

Тайм-аут подключения для выбора первой здоровой реплики (для защищённых соединений).

connection_pool_max_wait_ms

Тип: Миллисекунды

Значение по умолчанию: 0

Время ожидания в миллисекундах для подключения, когда пул подключений полон.

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

  • Положительное целое число.
  • 0 — Неограниченный тайм-аут.

connections_with_failover_max_tries

Тип: UInt64

Значение по умолчанию: 3

Максимальное количество попыток подключения с каждой репликой для движка распределённой таблицы.

convert_query_to_cnf

Тип: Bool

Значение по умолчанию: 0

Когда установлено значение true, запрос SELECT будет преобразован в конъюнктивную нормальную форму (CNF). Есть сценарии, когда переписывание запроса в CNF может выполняться быстрее (подробности в Github issue).

Например, обратите внимание, как следующий запрос SELECT не изменяется (поведение по умолчанию):

Результат:

Установим convert_query_to_cnf в true и посмотрим, что изменится:

Обратите внимание, что оператор WHERE переписан в CNF, но результирующий набор идентичен - логика Булева не изменилась:

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

count_distinct_implementation

Тип: String

Значение по умолчанию: uniqExact

Указывает, какая из функций uniq* должна использоваться для выполнения конструкции COUNT(DISTINCT ...).

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

count_distinct_optimization

Тип: Bool

Значение по умолчанию: 0

Переписывает count distinct в подзапрос group by

create_if_not_exists

Тип: Bool

Значение по умолчанию: 0

Включает IF NOT EXISTS для оператора CREATE по умолчанию. Если либо эта настройка, либо IF NOT EXISTS указаны и таблица с предоставленным именем уже существует, исключение не будет выброшено.

create_index_ignore_unique

Тип: Bool

Значение по умолчанию: 0

Игнорировать ключевое слово UNIQUE в CREATE UNIQUE INDEX. Создано для тестов совместимости SQL.

create_replicated_merge_tree_fault_injection_probability

Тип: Float

Значение по умолчанию: 0

Вероятность инъекции ошибок во время создания таблицы после создания метаданных в ZooKeeper.

create_table_empty_primary_key_by_default

Тип: Bool

Значение по умолчанию: 0

Разрешить создавать *MergeTree таблицы с пустым первичным ключом, когда ORDER BY и PRIMARY KEY не указаны.

cross_join_min_bytes_to_compress

Тип: UInt64

Значение по умолчанию: 1073741824

Минимальный размер блока для сжатия в CROSS JOIN. Нулевое значение означает - отключить этот порог. Этот блок сжимается, когда достигается любой из двух порогов (по строкам или по байтам).

cross_join_min_rows_to_compress

Тип: UInt64

Значение по умолчанию: 10000000

Минимальное количество строк для сжатия блока в CROSS JOIN. Нулевое значение означает - отключить этот порог. Этот блок сжимается, когда достигается любой из двух порогов (по строкам или по байтам).

data_type_default_nullable

Тип: Bool

Значение по умолчанию: 0

Позволяет типам данных без явных модификаторов NULL или NOT NULL в определении столбца быть Nullable.

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

  • 1 — Типы данных в определениях столбцов по умолчанию устанавливаются как Nullable.
  • 0 — Типы данных в определениях столбцов по умолчанию устанавливаются как не Nullable.

database_atomic_wait_for_drop_and_detach_synchronously

Тип: Bool

Значение по умолчанию: 0

Добавляет модификатор SYNC ко всем запросам DROP и DETACH.

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

  • 0 — Запросы будут выполняться с задержкой.
  • 1 — Запросы будут выполняться без задержки.

database_replicated_allow_explicit_uuid

Тип: UInt64

Значение по умолчанию: 0

0 - Не разрешать явное указание UUID для таблиц в Реплицируемых базах данных. 1 - Разрешить. 2 - Разрешить, но игнорировать указанный UUID и вместо этого сгенерировать случайный.

database_replicated_allow_heavy_create

Тип: Bool

Значение по умолчанию: 0

Разрешить долго выполняющиеся DDL-запросы (CREATE AS SELECT и POPULATE) в движке Реплицируемой базы данных. Обратите внимание, что это может блокировать очередь DDL на длительное время.

database_replicated_allow_only_replicated_engine

Тип: Bool

Значение по умолчанию: 0

Разрешить создание только реплицируемых таблиц в базе данных с движком Реплицируемая.

database_replicated_allow_replicated_engine_arguments

Тип: UInt64

Значение по умолчанию: 0

0 - Не разрешать явное указание пути ZooKeeper и имени реплики для таблиц *MergeTree в Реплицируемых базах данных. 1 - Разрешить. 2 - Разрешить, но игнорировать указанный путь и использовать стандартный. 3 - Разрешить и не записывать предупреждение в журнал.

database_replicated_always_detach_permanently

Тип: Bool

Значение по умолчанию: 0

Выполнять DETACH TABLE как DETACH TABLE PERMANENTLY, если движок базы данных Реплицируемый.

database_replicated_enforce_synchronous_settings

Тип: Bool

Значение по умолчанию: 0

Принудительно включать синхронное ожидание для некоторых запросов (см. также database_atomic_wait_for_drop_and_detach_synchronously, mutations_sync, alter_sync). Не рекомендуется включать эти настройки.

database_replicated_initial_query_timeout_sec

Тип: UInt64

Значение по умолчанию: 300

Устанавливает, как долго начальный DDL-запрос должен ждать, пока Реплицируемая база данных обработает предыдущие записи в очереди DDL в секундах.

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

  • Положительное целое число.
  • 0 — Без ограничений.

decimal_check_overflow

Тип: Bool

Значение по умолчанию: 1

Проверка переполнения десятичных арифметических/сравнительных операций

deduplicate_blocks_in_dependent_materialized_views

Тип: Bool

Значение по умолчанию: 0

Включает или выключает проверку на дублирование для материализованных представлений, которые получают данные из таблиц Replicated*.

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

0 — Отключено. 1 — Включено.

Использование

По умолчанию дедупликация не выполняется для материализованных представлений, но производится выше, в исходной таблице. Если вставленный блок пропущен из-за дедупликации в исходной таблице, в прикрепленные материализованные представления вставка не произойдёт. Это поведение необходимо для вставки сильно агрегированных данных в материализованные представления, для случаев, когда вставленные блоки одинаковы после агрегации в материализованном представлении, но получены из разных INSERT в исходную таблицу. Однако это поведение "ломает" идемпотентность INSERT. Если INSERT в основную таблицу был успешным, а INSERT в материализованное представление не удалось (например, из-за сбоя связи с ClickHouse Keeper), клиент получит ошибку и может повторить операцию. Однако материализованное представление не получит вторую вставку, поскольку она будет отброшена дедупликацией в основной (исходной) таблице. Настройка deduplicate_blocks_in_dependent_materialized_views позволяет изменить это поведение. При повторной попытке материализованное представление получит повторную вставку и выполнит проверку на дублирование самостоятельно, проигнорировав результат проверки для исходной таблицы, и вставит строки, потерянные из-за первой ошибки.

default_materialized_view_sql_security

Тип: SQLSecurityType

Значение по умолчанию: DEFINER

Позволяет установить значение по умолчанию для опции SQL SECURITY при создании materialized view. Подробнее о безопасности SQL.

Значение по умолчанию — DEFINER.

default_max_bytes_in_join

Тип: UInt64

Значение по умолчанию: 1000000000

Максимальный размер таблицы на правой стороне, если лимит требуется, но max_bytes_in_join не установлен.

default_normal_view_sql_security

Тип: SQLSecurityType

Значение по умолчанию: INVOKER

Позволяет установить значение по умолчанию для опции SQL SECURITY при создании обычного представления. Подробнее о безопасности SQL.

Значение по умолчанию — INVOKER.

default_table_engine

Тип: DefaultTableEngine

Значение по умолчанию: MergeTree

Движок таблиц по умолчанию, используемый, когда ENGINE не указан в операторе CREATE.

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

  • строка, представляющая любое допустимое имя движка таблиц

Значение по умолчанию в облаке: SharedMergeTree.

Пример

Запрос:

Результат:

В этом примере любая новая таблица, которая не указывает Engine, будет использовать движок таблиц Log:

Запрос:

Результат:

default_temporary_table_engine

Тип: DefaultTableEngine

Значение по умолчанию: Memory

То же, что и default_table_engine, но для временных таблиц.

В этом примере любая новая временная таблица, которая не указывает Engine, будет использовать движок таблиц Log:

Запрос:

Результат:

default_view_definer

Тип: String

Значение по умолчанию: CURRENT_USER

Позволяет установить опцию DEFINER по умолчанию при создании представления. Подробнее о безопасности SQL.

Значение по умолчанию — CURRENT_USER.

describe_compact_output

Тип: Bool

Значение по умолчанию: 0

Если true, включайте только имена и типы столбцов в результат запроса DESCRIBE

describe_extend_object_types

Тип: Bool

Значение по умолчанию: 0

Определяет конкретный тип столбцов типа Object в запросе DESCRIBE

describe_include_subcolumns

Тип: Bool

Значение по умолчанию: 0

Включает описание подстолбцов для запроса DESCRIBE. Например, элементы Tuple или подстолбцы Map, Nullable или типа данных Array.

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

  • 0 — Подстолбцы не включены в запросы DESCRIBE.
  • 1 — Подстолбцы включены в запросы DESCRIBE.

Пример

См. пример для оператора DESCRIBE.

describe_include_virtual_columns

Тип: Bool

Значение по умолчанию: 0

Если true, виртуальные столбцы таблицы будут включены в результат запроса DESCRIBE

dialect

Тип: Dialect

Значение по умолчанию: clickhouse

Какой диалект будет использоваться для разбора запроса

dictionary_validate_primary_key_type

Тип: Bool

Значение по умолчанию: 0

Проверить тип первичного ключа для словарей. По умолчанию тип id для простых макетов будет неявно преобразован в UInt64.

distinct_overflow_mode

Тип: OverflowMode

Значение по умолчанию: throw

Что делать, когда превышен лимит.

distributed_aggregation_memory_efficient

Тип: Bool

Значение по умолчанию: 1

Включен ли режим экономии памяти для распределённой агрегации.

distributed_background_insert_batch

Тип: Bool

Значение по умолчанию: 0

Включает/отключает отправку вставленных данных пакетами.

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

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

  • 1 — Включено.
  • 0 — Отключено.

distributed_background_insert_max_sleep_time_ms

Тип: Milliseconds

Значение по умолчанию: 30000

Максимальный интервал для того, чтобы движок таблиц Distributed отправил данные. Ограничивает экспоненциальный рост интервала, установленного в настройке distributed_background_insert_sleep_time_ms.

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

  • Положительное целое число в миллисекундах.

distributed_background_insert_sleep_time_ms

Тип: Milliseconds

Значение по умолчанию: 100

Базовый интервал для того, чтобы движок таблиц Distributed отправил данные. Фактический интервал экспоненциально увеличивается в случае ошибок.

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

  • Положительное целое число в миллисекундах.

distributed_background_insert_split_batch_on_failure

Тип: Bool

Значение по умолчанию: 0

Включает/отключает разделение пакетов при ошибках.

Иногда отправка определенного пакета на удалённый шард может завершиться неудачей из-за определённого сложного конвейера после (например, MATERIALIZED VIEW с GROUP BY) из-за ошибок, таких как Memory limit exceeded. В этом случае повторение не поможет (и это застрянет распределённые отправки для таблицы), но отправка файлов из этого пакета по одному может успешно выполнить INSERT.

Таким образом, установка этой настройки на 1 отключит пакетирование для таких пакетов (т.е. временно отключит distributed_background_insert_batch для неудачных пакетов).

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

  • 1 — Включено.
  • 0 — Отключено.
примечание

Эта настройка также влияет на повреждённые пакеты (которые могут возникнуть из-за ненормального завершения работы сервера (машины) и отсутствия fsync_after_insert/fsync_directories для движка таблиц Distributed).

примечание

Не следует полагаться на автоматическое разделение пакетов, так как это может ухудшить производительность.

distributed_background_insert_timeout

Тип: UInt64

Значение по умолчанию: 0

Тайм-аут для запроса insert в распределенный. Настройка используется только с включённым insert_distributed_sync. Значение ноль означает отсутствие тайм-аута.

distributed_cache_bypass_connection_pool

ClickHouse Cloud only

Тип: Bool

Значение по умолчанию: 0

Действует только в ClickHouse Cloud. Позволяет обходить пул соединений распределённого кэша

distributed_cache_connect_max_tries

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 20

Действует только в ClickHouse Cloud. Количество попыток подключения к распределенному кэшу, если неудачно

distributed_cache_data_packet_ack_window

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 5

Действует только в ClickHouse Cloud. Окно для отправки подтверждения за последовательность DataPacket в одном запросе на чтение распределенного кэша

distributed_cache_discard_connection_if_unread_data

ClickHouse Cloud only

Тип: Bool

Значение по умолчанию: 1

Действует только в ClickHouse Cloud. Отбросить соединение, если некоторые данные не прочитаны.

distributed_cache_fetch_metrics_only_from_current_az

ClickHouse Cloud only

Тип: Bool

Значение по умолчанию: 1

Действует только в ClickHouse Cloud. Извлекать метрики только из текущей зоны доступности в system.distributed_cache_metrics, system.distributed_cache_events

distributed_cache_log_mode

ClickHouse Cloud only

Тип: DistributedCacheLogMode

Значение по умолчанию: on_error

Действует только в ClickHouse Cloud. Режим записи в system.distributed_cache_log

distributed_cache_max_unacked_inflight_packets

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 10

Действует только в ClickHouse Cloud. Максимальное количество неподтверждённых пакетов на лету в одном запросе на чтение распределённого кэша

distributed_cache_min_bytes_for_seek

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 0

Действует только в ClickHouse Cloud. Минимальное количество байтов для поиска в распределённом кэше.

distributed_cache_pool_behaviour_on_limit

ClickHouse Cloud only

Тип: DistributedCachePoolBehaviourOnLimit

Значение по умолчанию: wait

Действует только в ClickHouse Cloud. Определяет поведение соединения распределённого кэша при достижении лимита пула

distributed_cache_read_alignment

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 0

Действует только в ClickHouse Cloud. Настройка для тестовых целей, не изменяйте её

distributed_cache_receive_response_wait_milliseconds

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 60000

Действует только в ClickHouse Cloud. Время ожидания в миллисекундах для получения данных для запроса из распределённого кэша

distributed_cache_receive_timeout_milliseconds

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 10000

Действует только в ClickHouse Cloud. Время ожидания в миллисекундах для получения любого ответа из распределённого кэша

distributed_cache_throw_on_error

ClickHouse Cloud only

Тип: Bool

Значение по умолчанию: 0

Действует только в ClickHouse Cloud. Повторно выбрасывать исключение, возникшее во время взаимодействия с распределённым кэшем, или исключение, полученное от распределённого кэша. В противном случае происходит возврат к пропуску распределённого кэша при ошибке

distributed_cache_wait_connection_from_pool_milliseconds

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 100

Действует только в ClickHouse Cloud. Время ожидания в миллисекундах для получения соединения из пула соединений, если distributed_cache_pool_behaviour_on_limit равно wait

distributed_connections_pool_size

Тип: UInt64

Значение по умолчанию: 1024

Максимальное количество одновременных соединений с удалёнными серверами для распределённой обработки всех запросов к одной распределённой таблице. Рекомендуется установить значение не меньше количества серверов в кластере.

distributed_ddl_entry_format_version

Тип: UInt64

Значение по умолчанию: 5

Версия совместимости распределённых DDL (ON CLUSTER) запросов

distributed_ddl_output_mode

Тип: DistributedDDLOutputMode

Значение по умолчанию: throw

Устанавливает формат результата распределённого DDL запроса.

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

  • throw — Возвращает набор результатов с состоянием выполнения запроса для всех хостов, где запрос завершён. Если запрос завершился с ошибкой на некоторых хостах, то он выбросит первое исключение. Если запрос не выполнен ещё на некоторых хостах и distributed_ddl_task_timeout превышен, то он выбрасывает TIMEOUT_EXCEEDED.
  • none — Похоже на throw, но распределённый DDL запрос не возвращает никакого набора результатов.
  • null_status_on_timeout — Возвращает NULL в качестве статуса выполнения в некоторых строках набора результатов вместо выбрасывания TIMEOUT_EXCEEDED, если запрос не выполнен на соответствующих хостах.
  • never_throw — Не выбрасывает TIMEOUT_EXCEEDED и не выбрасывает повторно исключения, если запрос завершился с ошибкой на некоторых хостах.
  • none_only_active — похоже на none, но не ждёт неактивные реплики базы данных Replicated. Примечание: с этим режимом невозможно выяснить, что запрос не был выполнен на какой-то реплике и будет выполнен в фоновом режиме.
  • null_status_on_timeout_only_active — похоже на null_status_on_timeout, но не ждёт неактивные реплики базы данных Replicated.
  • throw_only_active — похоже на throw, но не ждёт неактивные реплики базы данных Replicated.

Значение по умолчанию в облаке: none.

distributed_ddl_task_timeout

Тип: Int64

Значение по умолчанию: 180

Устанавливает тайм-аут для ответов на DDL запросы от всех хостов в кластере. Если DDL запрос не был выполнен на всех хостах, ответ будет содержать ошибку тайм-аута, и запрос будет выполнен в асинхронном режиме. Отрицательное значение означает бесконечность.

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

  • Положительное целое число.
  • 0 — Асинхронный режим.
  • Отрицательное целое число — бесконечный тайм-аут.

distributed_foreground_insert

Тип: Bool

Значение по умолчанию: 0

Включает или отключает синхронную вставку данных в распределенную таблицу.

По умолчанию, при вставке данных в «распределенную» таблицу сервер ClickHouse отправляет данные на узлы кластера в фоновом режиме. Когда distributed_foreground_insert=1, данные обрабатываются синхронно, и операция INSERT завершается успешно только после сохранения всех данных на всех шардов (по крайней мере одна реплика для каждого шарда, если internal_replication истинно).

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

  • 0 — Данные вставляются в фоновом режиме.
  • 1 — Данные вставляются в синхронном режиме.

Значение по умолчанию в облаке: 1.

См. также

distributed_group_by_no_merge

Тип: UInt64

Значение по умолчанию: 0

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

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

  • 0 — Отключено (окончательная обработка запроса выполняется на инициаторе).
  • 1 - Не сливать состояния агрегации с разных серверов для распределённой обработки запроса (запрос полностью обрабатывается на шарде, инициатор только проксирует данные), может быть использовано в случае, когда точно известно, что на разных шардах разные ключи.
  • 2 - То же, что и 1, но применяет ORDER BY и LIMIT (это невозможно, когда запрос полностью обрабатывается на удалённом узле, как для distributed_group_by_no_merge=1) на инициаторе (может быть использовано для запросов с ORDER BY и/или LIMIT).

Пример

distributed_insert_skip_read_only_replicas

Тип: Bool

Значение по умолчанию: 0

Включает пропуск только для чтения реплик для INSERT запросов в Distributed.

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

  • 0 — INSERT ведет себя как обычно, если он пойдет на реплику только для чтения, он завершится неудачей.
  • 1 — Инициатор будет пропускать реплики только для чтения перед отправкой данных на шарды.

distributed_product_mode

Тип: DistributedProductMode

Значение по умолчанию: deny

Изменяет поведение распределенных подзапросов.

ClickHouse применяет эту настройку, когда запрос содержит произведение распределенных таблиц, т.е. когда запрос для распределенной таблицы содержит не-GLOBAL подзапрос для распределенной таблицы.

Ограничения:

  • Применяется только для IN и JOIN подзапросов.
  • Только если секция FROM использует распределенную таблицу, содержащую более одного шарда.
  • Если подзапрос касается распределенной таблицы, содержащей более одного шарда.
  • Не используется для табличной функции remote.

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

  • deny — Значение по умолчанию. Запрещает использовать эти типы подзапросов (возвращает исключение "Double-distributed in/JOIN subqueries is denied").
  • local — Заменяет базу данных и таблицу в подзапросе на локальные для сервера назначения (шарда), оставляя нормальные IN/JOIN.
  • global — Заменяет запрос IN/JOIN на GLOBAL IN/GLOBAL JOIN.
  • allow — Разрешает использование этих типов подзапросов.

distributed_push_down_limit

Тип: UInt64

Значение по умолчанию: 1

Включает или отключает применение LIMIT на каждом шарде отдельно.

Это позволит избежать:

  • Отправки лишних строк по сети;
  • Обработки строк за пределами лимита на инициаторе.

Начиная с версии 21.9 вы больше не можете получать неточные результаты, так как distributed_push_down_limit изменяет выполнение запроса, только если выполнено одно из условий:

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

  • 0 — Отключено.
  • 1 — Включено.

См. также:

distributed_replica_error_cap

Тип: UInt64

Значение по умолчанию: 1000

  • Тип: unsigned int
  • Значение по умолчанию: 1000

Количество ошибок для каждой реплики ограничено этим значением, предотвращая накопление слишком большого количества ошибок одной репликой.

См. также:

distributed_replica_error_half_life

Тип: Seconds

Значение по умолчанию: 60

  • Тип: seconds
  • Значение по умолчанию: 60 seconds

Контролирует, как быстро обнуляются ошибки в распределённых таблицах. Если реплика недоступна некоторое время, накапливает 5 ошибок, и distributed_replica_error_half_life установлен на 1 секунду, то реплика считается нормальной через 3 секунды после последней ошибки.

См. также:

distributed_replica_max_ignored_errors

Тип: UInt64

Значение по умолчанию: 0

  • Тип: unsigned int
  • Значение по умолчанию: 0

Количество ошибок, которые будут проигнорированы при выборе реплик (согласно алгоритму load_balancing).

См. также:

do_not_merge_across_partitions_select_final

Тип: Bool

Значение по умолчанию: 0

Слияние частей только в одном разделе в select final

empty_result_for_aggregation_by_constant_keys_on_empty_set

Тип: Bool

Значение по умолчанию: 1

Возвращать пустой результат при агрегации по постоянным ключам на пустом наборе.

empty_result_for_aggregation_by_empty_set

Тип: Bool

Значение по умолчанию: 0

Возвращать пустой результат при агрегации без ключей на пустом наборе.

enable_adaptive_memory_spill_scheduler

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Включает процессор для адаптивного сброса данных на внешнее хранилище. В настоящее время поддерживается grace join.

enable_blob_storage_log

Тип: Bool

Значение по умолчанию: 1

Записывать информацию о операциях blob storage в таблицу system.blob_storage_log

enable_deflate_qpl_codec

Тип: Bool

Значение по умолчанию: 0

Если включено, кодек DEFLATE_QPL можно использовать для сжатия столбцов.

enable_early_constant_folding

Тип: Bool

Значение по умолчанию: 1

Включить оптимизацию запросов, когда мы анализируем функцию и результаты подзапросов и переписываем запрос, если там есть константы

enable_extended_results_for_datetime_functions

Тип: Bool

Значение по умолчанию: 0

Включает или отключает возвращение результатов типа:

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

  • 0 — Функции возвращают Date или DateTime для всех типов аргументов.
  • 1 — Функции возвращают Date32 или DateTime64 для аргументов Date32 или DateTime64 и Date или DateTime в противном случае.

enable_filesystem_cache

Тип: Bool

Значение по умолчанию: 1

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

enable_filesystem_cache_log

Тип: Bool

Значение по умолчанию: 0

Позволяет записывать журнал кэширования файловой системы для каждого запроса

enable_filesystem_cache_on_write_operations

Тип: Bool

Значение по умолчанию: 0

Запись в кэш при операциях записи. Чтобы эта настройка действительно работала, она также должна быть добавлена в конфигурацию диска

enable_filesystem_read_prefetches_log

Тип: Bool

Значение по умолчанию: 0

Записывать в system.filesystem prefetch_log во время запроса. Должно использоваться только для тестирования или отладки, не рекомендуется включать по умолчанию

enable_global_with_statement

Тип: Bool

Значение по умолчанию: 1

Распространять операторы WITH на запросы UNION и все подзапросы

enable_hdfs_pread

Тип: Bool

Значение по умолчанию: 1

Включить или отключить pread для HDFS файлов. По умолчанию используется hdfsPread. Если отключено, hdfsRead и hdfsSeek будут использоваться для чтения HDFS файлов.

enable_http_compression

Тип: Bool

Значение по умолчанию: 0

Включает или отключает сжатие данных в ответ на HTTP-запрос.

Для получения дополнительной информации прочитайте описание HTTP интерфейса.

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

  • 0 — Отключено.
  • 1 — Включено.

enable_job_stack_trace

Тип: Bool

Значение по умолчанию: 1

Выводить трассировку стека создателя задания, когда задание вызывает исключение

enable_lightweight_delete

Тип: Bool

Значение по умолчанию: 1

Включить лёгкие DELETE мутации для таблиц MergeTree.

enable_memory_bound_merging_of_aggregation_results

Тип: Bool

Значение по умолчанию: 1

Включить стратегию слияния ограниченной по памяти для агрегации.

enable_multiple_prewhere_read_steps

Тип: Bool

Значение по умолчанию: 1

Перемещения большего количества условий из WHERE в PREWHERE и выполнения чтения с диска и фильтрации в несколько этапов, если условия соединены с помощью AND

enable_named_columns_in_function_tuple

Тип: Bool

Значение по умолчанию: 0

Генерировать именованные кортежи в функции tuple(), когда все имена уникальны и могут рассматриваться как некавычные идентификаторы.

enable_optimize_predicate_expression

Тип: Bool

Значение по умолчанию: 1

Включает проталкивание предикатов в запросах SELECT.

Проталкивание предикатов может значительно уменьшить сетевой трафик для распределенных запросов.

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

  • 0 — Отключено.
  • 1 — Включено.

Использование

Рассмотрим следующие запросы:

  1. SELECT count() FROM test_table WHERE date = '2018-10-10'
  2. SELECT count() FROM (SELECT * FROM test_table) WHERE date = '2018-10-10'

Если enable_optimize_predicate_expression = 1, тогда время выполнения этих запросов равно, так как ClickHouse применяет WHERE к подзапросу при его обработке.

Если enable_optimize_predicate_expression = 0, тогда время выполнения второго запроса значительно дольше, так как WHERE применяется ко всем данным после завершения подзапроса.

enable_optimize_predicate_expression_to_final_subquery

Тип: Bool

Значение по умолчанию: 1

Разрешить проталкивание предиката в финальный подзапрос.

enable_order_by_all

Тип: Bool

Значение по умолчанию: 1

Включает или отключает сортировку с синтаксисом ORDER BY ALL, см. ORDER BY.

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

  • 0 — Отключить ORDER BY ALL.
  • 1 — Включить ORDER BY ALL.

Пример

Запрос:

Результат:

enable_parsing_to_custom_serialization

Тип: Bool

Значение по умолчанию: 1

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

enable_positional_arguments

Тип: Bool

Значение по умолчанию: 1

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

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

  • 0 — Позиционные аргументы не поддерживаются.
  • 1 — Позиционные аргументы поддерживаются: можно использовать номера столбцов вместо имён столбцов.

Пример

Запрос:

Результат:

enable_reads_from_query_cache

Тип: Bool

Значение по умолчанию: 1

Если включено, результаты SELECT запросов извлекаются из кэша запросов.

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

  • 0 - Отключено
  • 1 - Включено

enable_s3_requests_logging

Тип: Bool

Значение по умолчанию: 0

Включить очень подробное логирование запросов S3. Имеет смысл только для отладки.

enable_scalar_subquery_optimization

Тип: Bool

Значение по умолчанию: 1

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

enable_sharing_sets_for_mutations

Тип: Bool

Значение по умолчанию: 1

Позволяет делиться объектами set, созданными для IN подзапросов, между разными задачами одной и той же мутации. Это уменьшает использование памяти и потребление CPU

enable_software_prefetch_in_aggregation

Тип: Bool

Значение по умолчанию: 1

Включить использование программной предвыборки в агрегации

enable_unaligned_array_join

Тип: Bool

Значение по умолчанию: 0

Разрешить ARRAY JOIN с несколькими массивами разного размера. Когда эта настройка включена, массивы будут изменены на размер самого длинного.

enable_url_encoding

Тип: Bool

Значение по умолчанию: 1

Позволяет включать/отключать декодирование/кодирование пути в uri в таблицах движка URL.

Включено по умолчанию.

enable_vertical_final

Тип: Bool

Значение по умолчанию: 1

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

enable_writes_to_query_cache

Тип: Bool

Значение по умолчанию: 1

Если включено, результаты SELECT запросов сохраняются в кэше запросов.

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

  • 0 - Отключено
  • 1 - Включено

enable_zstd_qat_codec

Тип: Bool

Значение по умолчанию: 0

Если включено, кодек ZSTD_QAT может быть использован для сжатия столбцов.

enforce_strict_identifier_format

Тип: Bool

Значение по умолчанию: 0

Если включено, допускаются только идентификаторы, содержащие алфавитно-цифровые символы и подчеркивания.

engine_file_allow_create_multiple_files

Тип: Bool

Значение по умолчанию: 0

Позволяет или запрещает создание нового файла при каждой вставке в таблицы движка file, если формат имеет суффикс (JSON, ORC, Parquet и т.д.). Если включено, при каждой вставке будет создаваться новый файл с именем по следующему шаблону:

data.Parquet -> data.1.Parquet -> data.2.Parquet, и т.д.

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

  • 0 — запрос INSERT добавляет новые данные в конец файла.
  • 1 — запрос INSERT создает новый файл.

engine_file_empty_if_not_exists

Тип: Bool

Значение по умолчанию: 0

Позволяет выбрать данные из таблицы движка file без файла.

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

  • 0 — SELECT выбрасывает исключение.
  • 1 — SELECT возвращает пустой результат.

engine_file_skip_empty_files

Тип: Bool

Значение по умолчанию: 0

Включает или отключает пропуск пустых файлов в таблицах движка File.

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

  • 0 — SELECT выбрасывает исключение если пустой файл не совместим с запрашиваемым форматом.
  • 1 — SELECT возвращает пустой результат для пустого файла.

engine_file_truncate_on_insert

Тип: Bool

Значение по умолчанию: 0

Включает или отключает усечение перед вставкой в таблицы движка File.

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

  • 0 — запрос INSERT добавляет новые данные в конец файла.
  • 1 — запрос INSERT заменяет существующее содержимое файла новыми данными.

engine_url_skip_empty_files

Тип: Bool

Значение по умолчанию: 0

Включает или отключает пропуск пустых файлов в таблицах движка URL.

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

  • 0 — SELECT выбрасывает исключение если пустой файл не совместим с запрашиваемым форматом.
  • 1 — SELECT возвращает пустой результат для пустого файла.

except_default_mode

Тип: SetOperationMode

Значение по умолчанию: ALL

Устанавливает режим по умолчанию в запросе EXCEPT. Возможные значения: пустая строка, 'ALL', 'DISTINCT'. Если пусто, запрос без режима выбросит исключение.

external_storage_connect_timeout_sec

Тип: UInt64

Значение по умолчанию: 10

Таймаут подключения в секундах. Сейчас поддерживается только для MySQL.

external_storage_max_read_bytes

Тип: UInt64

Значение по умолчанию: 0

Ограничение на максимальное количество байт, когда таблица с внешним движком должна сбросить историю данных. Сейчас поддерживается только для движка таблицы MySQL, движка базы данных и словаря. Если равно 0, эта настройка отключена.

external_storage_max_read_rows

Тип: UInt64

Значение по умолчанию: 0

Ограничение на максимальное количество строк, когда таблица с внешним движком должна сбросить историю данных. Сейчас поддерживается только для движка таблицы MySQL, движка базы данных и словаря. Если равно 0, эта настройка отключена.

external_storage_rw_timeout_sec

Тип: UInt64

Значение по умолчанию: 300

Таймаут чтения/записи в секундах. Сейчас поддерживается только для MySQL.

external_table_functions_use_nulls

Тип: Bool

Значение по умолчанию: 1

Определяет, как табличные функции mysql, postgresql и odbc используют Nullable столбцы.

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

  • 0 — Табличная функция явно использует Nullable столбцы.
  • 1 — Табличная функция неявно использует Nullable столбцы.

Использование

Если настройка установлена в 0, табличная функция не создает Nullable столбцы и вставляет значения по умолчанию вместо NULL. Это также применимо для NULL значений внутри массивов.

external_table_strict_query

Тип: Bool

Значение по умолчанию: 0

Если установлено в true, трансформация выражения в локальный фильтр запрещена для запросов к внешним таблицам.

extract_key_value_pairs_max_pairs_per_row

Тип: UInt64

Значение по умолчанию: 1000

Максимальное количество пар, которые могут быть произведены функцией extractKeyValuePairs. Используется как защита от чрезмерного потребления памяти.

extremes

Тип: Bool

Значение по умолчанию: 0

Считать ли экстремальные значения (минимумы и максимумы в столбцах результата запроса). Принимает 0 или 1. По умолчанию, 0 (отключено). Для получения дополнительной информации см. раздел "Экстремальные значения".

fallback_to_stale_replicas_for_distributed_queries

Тип: Bool

Значение по умолчанию: 1

Принуждает запрос к устаревшей реплике, если обновленные данные недоступны. См. Репликация.

ClickHouse выбирает наиболее релевантную из устаревших реплик таблицы.

Используется при выполнении SELECT из распределенной таблицы, указывающей на реплицированные таблицы.

По умолчанию, 1 (включено).

filesystem_cache_boundary_alignment

Тип: UInt64

Значение по умолчанию: 0

Выравнивание границ кэша файловой системы. Эта настройка применяется только для не-дисковых чтений (например, для кэша удаленных движков таблиц / табличных функций, но не для конфигурации хранения таблиц MergeTree). Значение 0 означает отсутствие выравнивания.

filesystem_cache_enable_background_download_during_fetch

ClickHouse Cloud only

Тип: Bool

Значение по умолчанию: 1

Воздействует только в ClickHouse Cloud. Время ожидания блокировки кэша для резервирования места в файловой системе

filesystem_cache_enable_background_download_for_metadata_files_in_packed_storage

ClickHouse Cloud only

Тип: Bool

Значение по умолчанию: 1

Воздействует только в ClickHouse Cloud. Время ожидания блокировки кэша для резервирования места в файловой системе

filesystem_cache_max_download_size

Тип: UInt64

Значение по умолчанию: 137438953472

Максимальный размер кэша удаленной файловой системы, который может быть загружен одним запросом.

filesystem_cache_name

Тип: String

Значение по умолчанию:

Имя кэша файловой системы, используемое для безглавых движков таблиц или озёр данных.

filesystem_cache_prefer_bigger_buffer_size

Тип: Bool

Значение по умолчанию: 1

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

filesystem_cache_reserve_space_wait_lock_timeout_milliseconds

Тип: UInt64

Значение по умолчанию: 1000

Время ожидания блокировки кэша для резервирования места в файловой системе

filesystem_cache_segments_batch_size

Тип: UInt64

Значение по умолчанию: 20

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

filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit

Тип: Bool

Значение по умолчанию: 1

Пропуск загрузки из удаленной файловой системы, если превышен размер кэша запроса

filesystem_prefetch_max_memory_usage

Тип: UInt64

Значение по умолчанию: 1073741824

Максимальное использование памяти для предварительного извлечения.

filesystem_prefetch_step_bytes

Тип: UInt64

Значение по умолчанию: 0

Шаг предварительного извлечения в байтах. Ноль означает авто - приблизительно лучший шаг предварительного извлечения будет автоматически выведен, но может быть не на 100% лучшим. Фактическое значение может отличаться из-за настройки filesystem_prefetch_min_bytes_for_single_read_task

filesystem_prefetch_step_marks

Тип: UInt64

Значение по умолчанию: 0

Шаг предварительного извлечения в метках. Ноль означает авто - приблизительно лучший шаг предварительного извлечения будет автоматически выведен, но может быть не на 100% лучшим. Фактическое значение может отличаться из-за настройки filesystem_prefetch_min_bytes_for_single_read_task

filesystem_prefetches_limit

Тип: UInt64

Значение по умолчанию: 200

Максимальное количество предварительных извлечений. Ноль означает неограниченно. Настройка filesystem_prefetches_max_memory_usage рекомендуется, если вы хотите ограничить количество предварительных извлечений

final

Тип: Bool

Значение по умолчанию: 0

Автоматически применяет модификатор FINAL ко всем таблицам в запросе, к таблицам, где FINAL применим, включая соединенные таблицы и таблицы в подзапросах, и распределенные таблицы.

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

  • 0 - отключено
  • 1 - включено

Пример:

flatten_nested

Тип: Bool

Значение по умолчанию: 1

Устанавливает формат данных вложенных столбцов.

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

  • 1 — Вложенный столбец расплющивается в отдельные массивы.
  • 0 — Вложенный столбец остаётся единым массивом кортежей.

Использование

Если настройка установлена в 0, возможно использование произвольного уровня вложенности.

Примеры

Запрос:

Результат:

Запрос:

Результат:

force_aggregate_partitions_independently

Тип: Bool

Значение по умолчанию: 0

Принудительное использование оптимизации, когда она применима, но эвристика решила не использовать её.

force_aggregation_in_order

Тип: Bool

Значение по умолчанию: 0

Настройка используется самим сервером для поддержки распределённых запросов. Не изменяйте её вручную, потому что это нарушит нормальную работу. (Принудительное использование агрегации по порядку на удалённых узлах во время распределенной агрегации).

force_data_skipping_indices

Тип: String

Значение по умолчанию:

Отключает выполнение запроса, если переданные индексы пропуска данных не были использованы.

Рассмотрим следующий пример:

force_grouping_standard_compatibility

Тип: Bool

Значение по умолчанию: 1

Заставляет функцию GROUPING возвращать 1, когда аргумент не используется в качестве ключа агрегации.

force_index_by_date

Тип: Bool

Значение по умолчанию: 0

Отключает выполнение запроса, если индекс не может быть использован по дате.

Работает с таблицами семейства MergeTree.

Если force_index_by_date=1, ClickHouse проверяет, есть ли в запросе условие ключа по дате, которое может быть использовано для ограничения диапазонов данных. Если подходящего условия нет, выбрасывается исключение. Однако, оно не проверяет, уменьшает ли условие объем читаемых данных. Например, условие Date != '2000-01-01' является допустимым, даже если оно соответствует всем данным в таблице (т.е., выполнение запроса требует полного сканирования). Для получения более подробной информации о диапазонах данных в таблицах MergeTree, см. MergeTree.

force_optimize_projection

Тип: Bool

Значение по умолчанию: 0

Включает или отключает обязательное использование проекций в SELECT запросах, когда оптимизация проекций включена (см. настройку optimize_use_projections).

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

  • 0 — Оптимизация проекций не обязательна.
  • 1 — Оптимизация проекций обязательна.

force_optimize_projection_name

Тип: String

Значение по умолчанию:

Если установлено непустое значение, проверяется, что проекция использовалась в запросе хотя бы один раз.

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

  • строка: имя проекции, использованной в запросе

force_optimize_skip_unused_shards

Тип: UInt64

Значение по умолчанию: 0

Включает или отключает выполнение запроса, если optimize_skip_unused_shards включено и пропуск неиспользуемых шардов невозможен. Если пропуск невозможен и настройка включена, будет выброшено исключение.

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

  • 0 — Отключено. ClickHouse не выбрасывает исключение.
  • 1 — Включено. Выполнение запроса отключено только если таблица имеет ключ шардирования.
  • 2 — Включено. Выполнение запроса отключено независимо от того, определен ли ключ шардирования у таблицы.

force_optimize_skip_unused_shards_nesting

Тип: UInt64

Значение по умолчанию: 0

Контролирует force_optimize_skip_unused_shards (следовательно, все еще требует force_optimize_skip_unused_shards), в зависимости от уровня вложенности распределенного запроса (случай, когда у вас есть таблица Distributed, которая смотрит в другую таблицу Distributed).

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

  • 0 - Отключено, force_optimize_skip_unused_shards работает всегда.
  • 1 — Включает force_optimize_skip_unused_shards только для первой уровня.
  • 2 — Включает force_optimize_skip_unused_shards до второго уровня.

force_primary_key

Тип: Bool

Значение по умолчанию: 0

Отключает выполнение запроса, если индексация по первичному ключу невозможна.

Работает с таблицами семейства MergeTree.

Если force_primary_key=1, ClickHouse проверяет, есть ли в запросе условие первичного ключа, которое может быть использовано для ограничения диапазонов данных. Если подходящего условия нет, выбрасывается исключение. Однако, оно не проверяет, уменьшает ли условие объем читаемых данных. Для получения более подробной информации о диапазонах данных в таблицах MergeTree, см. MergeTree.

force_remove_data_recursively_on_drop

Тип: Bool

Значение по умолчанию: 0

Рекурсивно удаляет данные при запросе DROP. Избегает ошибки 'Каталог не пуст', но может тихо удалить отсоединенные данные.

formatdatetime_f_prints_scale_number_of_digits

Тип: Bool

Значение по умолчанию: 0

Форматтер '%f' в функции 'formatDateTime' печатает только количество цифр масштаба для DateTime64 вместо фиксированных 6 цифр.

formatdatetime_f_prints_single_zero

Тип: Bool

Значение по умолчанию: 0

Форматтер '%f' в функции 'formatDateTime' печатает один ноль вместо шести нулей, если форматированное значение не имеет дробных секунд.

formatdatetime_format_without_leading_zeros

Тип: Bool

Значение по умолчанию: 0

Форматтеры '%c', '%l' и '%k' в функции 'formatDateTime' печатают месяцы и часы без ведущих нулей.

formatdatetime_parsedatetime_m_is_month_name

Тип: Bool

Значение по умолчанию: 1

Форматтер '%M' в функциях 'formatDateTime' и 'parseDateTime' печатает/парсит имя месяца вместо минут.

fsync_metadata

Тип: Bool

Значение по умолчанию: 1

Включает или отключает fsync при записи .sqlфайлов. Включено по умолчанию.

Имеет смысл отключить это, если на сервере миллионы крошечных таблиц, которые постоянно создаются и уничтожаются.

function_implementation

Тип: String

Значение по умолчанию:

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

function_json_value_return_type_allow_complex

Тип: Bool

Значение по умолчанию: 0

Контролирует, разрешать ли возвращать сложные типы (такие как: структура, массив, карта) для функции json_value.

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

  • true — Разрешить.
  • false — Запретить.

function_json_value_return_type_allow_nullable

Тип: Bool

Значение по умолчанию: 0

Контролирует, разрешать ли возвращать NULL, когда значение не существует для функции JSON_VALUE.

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

  • true — Разрешить.
  • false — Запретить.

function_locate_has_mysql_compatible_argument_order

Тип: Bool

Значение по умолчанию: 1

Контролирует порядок аргументов в функции locate.

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

  • 0 — Функция locate принимает аргументы (haystack, needle[, start_pos]).
  • 1 — Функция locate принимает аргументы (needle, haystack, [, start_pos]) (совместимое с MySQL поведение).

function_range_max_elements_in_block

Тип: UInt64

Значение по умолчанию: 500000000

Устанавливает порог безопасности для объема данных, генерируемых функцией range. Определяет максимальное количество значений, генерируемых функцией на блок данных (сумма размеров массивов для каждой строки в блоке).

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

  • Положительное целое число.

См. также

function_sleep_max_microseconds_per_block

Тип: UInt64

Значение по умолчанию: 3000000

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

function_visible_width_behavior

Тип: UInt64

Значение по умолчанию: 1

Версия поведения visibleWidth. 0 - только считает количество кодовых точек; 1 - правильно учитывает нулевой ширины и комбинируемые символы, считает полноширинные символы как два, оценивает ширину табуляции, считает символы удаления.

geo_distance_returns_float64_on_float64_arguments

Тип: Bool

Значение по умолчанию: 1

Если все четыре аргумента для функций geoDistance, greatCircleDistance, greatCircleAngle являются Float64, возвращает Float64 и использует двойную точность для внутренних вычислений. В предыдущих версиях ClickHouse функции всегда возвращали Float32.

glob_expansion_max_elements

Тип: UInt64

Значение по умолчанию: 1000

Максимальное количество разрешённых адресов (для внешних хранилищ, табличных функций и т.д.).

grace_hash_join_initial_buckets

Experimental feature. Learn more.

Тип: NonZeroUInt64

Значение по умолчанию: 1

Начальное количество корзин grace hash join.

grace_hash_join_max_buckets

Experimental feature. Learn more.

Тип: NonZeroUInt64

Значение по умолчанию: 1024

Ограничение на количество корзин grace hash join.

group_by_overflow_mode

Тип: OverflowModeGroupBy

Значение по умолчанию: throw

Что делать, когда лимит превышен.

group_by_two_level_threshold

Тип: UInt64

Значение по умолчанию: 100000

С какого количества ключей начинается двухуровневая агрегация. 0 - порог не установлен.

group_by_two_level_threshold_bytes

Тип: UInt64

Значение по умолчанию: 50000000

С какого размера состояния агрегации в байтах начинается использование двухуровневой агрегации. 0 - порог не установлен. Двухуровневая агрегация используется, когда срабатывает хотя бы один из порогов.

group_by_use_nulls

Тип: Bool

Значение по умолчанию: 0

Изменяет то, как оператор GROUP BY обрабатывает типы ключей агрегации. Когда используются спецификаторы ROLLUP, CUBE или GROUPING SETS, некоторые ключи агрегации могут не использоваться для генерации некоторых строк результатов. Столбцы для этих ключей заполняются либо значением по умолчанию, либо NULL в соответствующих строках, в зависимости от этой настройки.

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

  • 0 — Значение по умолчанию для типа ключа агрегации используется для генерации отсутствующих значений.
  • 1 — ClickHouse выполняет GROUP BY так, как требует стандарт SQL. Типы ключей агрегации преобразуются в Nullable. Столбцы для соответствующих ключей агрегации заполняются NULL для строк, которые его не использовали.

Смотрите также:

h3togeo_lon_lat_result_order

Тип: Bool

Значение по умолчанию: 0

Функция 'h3ToGeo' возвращает (lon, lat), если true, в противном случае (lat, lon).

handshake_timeout_ms

Тип: Milliseconds

Значение по умолчанию: 10000

Таймаут в миллисекундах для получения пакета Hello от реплик во время рукопожатия.

hdfs_create_new_file_on_insert

Тип: Bool

Значение по умолчанию: 0

Включает или отключает создание нового файла при каждой вставке в таблицы движка HDFS. Если включено, при каждой вставке будет создан новый HDFS файл с именем, аналогичным этому шаблону:

изначально: data.Parquet.gz -> data.1.Parquet.gz -> data.2.Parquet.gz, и т.д.

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

  • 0 — запрос INSERT добавляет новые данные в конец файла.
  • 1 — запрос INSERT создает новый файл.

hdfs_ignore_file_doesnt_exist

Тип: Bool

Значение по умолчанию: 0

Игнорировать отсутствие файла, если его нет при чтении определённых ключей.

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

  • 1 — SELECT возвращает пустой результат.
  • 0 — SELECT выбрасывает исключение.

hdfs_replication

Тип: UInt64

Значение по умолчанию: 0

Фактическое количество репликаций может быть указано при создании файла hdfs.

hdfs_skip_empty_files

Тип: Bool

Значение по умолчанию: 0

Включает или отключает пропуск пустых файлов в таблицах движка HDFS.

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

  • 0 — SELECT выбрасывает исключение, если пустой файл не совместим с запрашиваемым форматом.
  • 1 — SELECT возвращает пустой результат для пустого файла.

hdfs_throw_on_zero_files_match

Тип: Bool

Значение по умолчанию: 0

Выбрасывать ошибку, если не найдено ни одного файла согласно правилам расширения glob.

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

  • 1 — SELECT выбрасывает исключение.
  • 0 — SELECT возвращает пустой результат.

hdfs_truncate_on_insert

Тип: Bool

Значение по умолчанию: 0

Включает или отключает усечение перед вставкой в таблицы движка hdfs. Если отключено, при попытке вставки выбрасывается исключение, если файл в HDFS уже существует.

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

  • 0 — запрос INSERT добавляет новые данные в конец файла.
  • 1 — запрос INSERT заменяет существующее содержимое файла новыми данными.

hedged_connection_timeout_ms

Тип: Milliseconds

Значение по умолчанию: 50

Таймаут подключения для установления соединения с репликой для Hedged запросов.

Experimental feature. Learn more.

Тип: UInt64

Значение по умолчанию: 256

Размер динамического списка кандидатов при поиске векторного индекса сходства, также известного как 'ef_search'.

hsts_max_age

Тип: UInt64

Значение по умолчанию: 0

Время истечения для HSTS. 0 означает отключение HSTS.

http_connection_timeout

Тип: Seconds

Значение по умолчанию: 1

Таймаут соединения HTTP (в секундах).

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

  • Любое положительное целое число.
  • 0 - Отключено (бесконечный таймаут).

http_headers_progress_interval_ms

Тип: UInt64

Значение по умолчанию: 100

Не отправлять HTTP заголовки X-ClickHouse-Progress чаще, чем через каждый указанный интервал.

http_make_head_request

Тип: Bool

Значение по умолчанию: 1

Настройка http_make_head_request позволяет выполнять HEAD запрос при чтении данных из HTTP для получения информации о файле, который нужно прочитать, например, его размера. Поскольку она включена по умолчанию, может быть целесообразно отключить эту настройку в случаях, когда сервер не поддерживает HEAD запросы.

http_max_field_name_size

Тип: UInt64

Значение по умолчанию: 131072

Максимальная длина имени поля в HTTP заголовке

http_max_field_value_size

Тип: UInt64

Значение по умолчанию: 131072

Максимальная длина значения поля в HTTP заголовке

http_max_fields

Тип: UInt64

Значение по умолчанию: 1000000

Максимальное количество полей в HTTP заголовке

http_max_multipart_form_data_size

Тип: UInt64

Значение по умолчанию: 1073741824

Лимит на размер содержимого multipart/form-data. Эта настройка не может быть разобрана из параметров URL и должна быть установлена в профиле пользователя. Заметьте, что содержимое анализируется, и внешние таблицы создаются в памяти до начала выполнения запроса. И это единственный лимит, который имеет эффект на этом этапе (лимиты на максимальное использование памяти и максимальное время выполнения не воздействуют при чтении данных HTTP формата).

http_max_request_param_data_size

Тип: UInt64

Значение по умолчанию: 10485760

Лимит на размер данных запроса, используемых в качестве параметра запроса в предопределённых HTTP запросах.

http_max_tries

Тип: UInt64

Значение по умолчанию: 10

Максимальное количество попыток чтения через http.

http_max_uri_size

Тип: UInt64

Значение по умолчанию: 1048576

Устанавливает максимальную длину URI HTTP запроса.

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

  • Положительное целое число.

http_native_compression_disable_checksumming_on_decompress

Тип: Bool

Значение по умолчанию: 0

Включает или отключает проверку контрольной суммы при разжатии данных HTTP POST от клиента. Используется только для нативного формата сжатия ClickHouse (не используется с gzip или deflate).

Для получения дополнительной информации прочтите описание HTTP интерфейса.

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

  • 0 — Отключено.
  • 1 — Включено.

http_receive_timeout

Тип: Seconds

Значение по умолчанию: 30

Таймаут приема HTTP (в секундах).

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

  • Любое положительное целое число.
  • 0 - Отключено (бесконечный таймаут).

http_response_buffer_size

Тип: UInt64

Значение по умолчанию: 0

Количество байтов, которые буферизуются в памяти сервера перед отправкой HTTP-ответа клиенту или сбросом на диск (когда включен http_wait_end_of_query).

http_response_headers

Тип: Map

Значение по умолчанию:

Позволяет добавить или переопределить HTTP-заголовки, которые сервер вернёт в ответе при успешном выполнении запроса. Эта настройка влияет только на HTTP интерфейс.

Если заголовок уже установлен по умолчанию, предоставленное значение переопределит его. Если заголовок не был установлен по умолчанию, он будет добавлен в список заголовков. Заголовки, которые установлены сервером по умолчанию и не переопределяются этой настройкой, останутся неизменными.

Настройка позволяет установить заголовок на постоянное значение. В настоящее время нет возможности установить заголовок на динамически вычисляемое значение.

Ни имена, ни значения не могут содержать управляющие ASCII-символы.

Если вы разрабатываете UI-приложение, которое позволяет пользователям изменять настройки, но в то же время принимает решения на основе возвращённых заголовков, рекомендуется установить эту настройку как только для чтения.

Пример: SET http_response_headers = '{"Content-Type": "image/png"}'

http_retry_initial_backoff_ms

Тип: UInt64

Значение по умолчанию: 100

Минимальное количество миллисекунд для обратного отсчёта при повторных чтениях через HTTP.

http_retry_max_backoff_ms

Тип: UInt64

Значение по умолчанию: 10000

Максимальное количество миллисекунд для обратного отсчёта при повторных чтениях через HTTP.

http_send_timeout

Тип: Seconds

Значение по умолчанию: 30

Тайм-аут отправки HTTP (в секундах).

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

  • Любое положительное целое число.
  • 0 - Отключено (бесконечный тайм-аут).
примечание

Применимо только к профилю по умолчанию. Необходима перезагрузка сервера для вступления изменений в силу.

http_skip_not_found_url_for_globs

Тип: Bool

Значение по умолчанию: 1

Пропускать URL-адреса для шаблонов с ошибкой HTTP_NOT_FOUND.

http_wait_end_of_query

Тип: Bool

Значение по умолчанию: 0

Включить буферизацию HTTP-ответов на стороне сервера.

http_write_exception_in_output_format

Тип: Bool

Значение по умолчанию: 1

Записывает исключение в формате вывода для получения корректного вывода. Работает с JSON и XML форматами.

http_zlib_compression_level

Тип: Int64

Значение по умолчанию: 3

Устанавливает уровень сжатия данных в ответ на HTTP-запрос, если enable_http_compression = 1.

Возможные значения: числа от 1 до 9.

iceberg_snapshot_id

Тип: Int64

Значение по умолчанию: 0

Запрос к таблице Iceberg, используя конкретный идентификатор снепшота.

iceberg_timestamp_ms

Тип: Int64

Значение по умолчанию: 0

Запрос к таблице Iceberg, используя снепшот, который был актуален на определённый момент времени.

idle_connection_timeout

Тип: UInt64

Значение по умолчанию: 3600

Тайм-аут для закрытия неактивных TCP-соединений через указанное количество секунд.

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

  • Положительное целое число (0 - закрыть немедленно, через 0 секунд).

ignore_cold_parts_seconds

ClickHouse Cloud only

Тип: Int64

Значение по умолчанию: 0

Оказывает эффект только в ClickHouse Cloud. Исключает новые части данных из SELECT запросов до тех пор, пока они не будут предварительно прогреты (см. cache_populated_by_fetch) или пока им не исполнится указанное количество секунд. Используется только для Replicated-/SharedMergeTree.

ignore_data_skipping_indices

Тип: String

Значение по умолчанию:

Игнорирует указанные индексы пропуска данных, если они используются в запросе.

Рассмотрим следующий пример:

Запрос без игнорирования каких-либо индексов:

Игнорирование индекса xy_idx:

Работает с таблицами семейства MergeTree.

ignore_drop_queries_probability

Тип: Float

Значение по умолчанию: 0

Если включено, сервер будет игнорировать все запросы DROP таблиц с указанной вероятностью (для движков Memory и JOIN DROP будет заменён на TRUNCATE). Используется для тестирования.

ignore_materialized_views_with_dropped_target_table

Тип: Bool

Значение по умолчанию: 0

Игнорировать MVs со сброшенной целевой таблицей при передаче в представления.

ignore_on_cluster_for_replicated_access_entities_queries

Тип: Bool

Значение по умолчанию: 0

Игнорировать клаузу ON CLUSTER для запросов управления реплицируемыми сущностями доступа.

ignore_on_cluster_for_replicated_named_collections_queries

Тип: Bool

Значение по умолчанию: 0

Игнорировать клаузу ON CLUSTER для запросов управления реплицируемыми именованными коллекциями.

ignore_on_cluster_for_replicated_udf_queries

Тип: Bool

Значение по умолчанию: 0

Игнорировать клаузу ON CLUSTER для запросов управления реплицируемыми пользовательскими функциями (UDF).

implicit_select

Тип: Bool

Значение по умолчанию: 0

Разрешает писать простые SELECT запросы без ведущего ключевого слова SELECT, что упрощает использование в стиле калькулятора, например, 1 + 2 становится допустимым запросом.

В clickhouse-local эта настройка включена по умолчанию и может быть явно отключена.

implicit_transaction

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Если включено и не в транзакции, оборачивает запрос в полную транзакцию (begin + commit или rollback).

input_format_parallel_parsing

Тип: Bool

Значение по умолчанию: 1

Включает или отключает сохраняющее порядок параллельное парсирование форматов данных. Поддерживается только для форматов TSV, TSKV, CSV и JSONEachRow.

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

  • 1 — Включено.
  • 0 — Отключено.

insert_allow_materialized_columns

Тип: Bool

Значение по умолчанию: 0

Если настройка включена, разрешает материализованные столбцы в INSERT.

insert_deduplicate

Тип: Bool

Значение по умолчанию: 1

Включает или отключает дедупликацию блоков данных при INSERT (для Replicated* таблиц).

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

  • 0 — Отключено.
  • 1 — Включено.

По умолчанию, блоки, вставленные в реплицируемые таблицы с помощью команды INSERT, дублируются (см. Репликация данных). Для реплицируемых таблиц по умолчанию только 100 наиболее недавно добавленных блоков для каждого раздела дедуплицируются (см. replicated_deduplication_window, replicated_deduplication_window_seconds). Для не реплицируемых таблиц см. non_replicated_deduplication_window.

insert_deduplication_token

Тип: String

Значение по умолчанию:

Настройка позволяет пользователю предоставить собственную дедупликационную семантику в MergeTree/ReplicatedMergeTree. Например, предоставив уникальное значение для этой настройки в каждом операторе INSERT, пользователь может избежать дедупликации одинаково вставленных данных.

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

  • Любая строка

insert_deduplication_token используется для дедупликации только когда он не пуст.

Для реплицируемых таблиц по умолчанию только 100 наиболее недавно вставленных значений для каждого раздела дедуплицируется (см. replicated_deduplication_window, replicated_deduplication_window_seconds). Для не реплицируемых таблиц см. non_replicated_deduplication_window.

примечание

insert_deduplication_token работает на уровне разделов (так же как и хеш-сумма insert_deduplication). Несколько разделов могут иметь один и тот же insert_deduplication_token.

Пример:

insert_keeper_fault_injection_probability

Тип: Float

Значение по умолчанию: 0

Приблизительная вероятность отказа запроса к Keeper при вставке. Допустимое значение находится в интервале [0.0f, 1.0f].

insert_keeper_fault_injection_seed

Тип: UInt64

Значение по умолчанию: 0

0 - случайное значение, иначе указано значение настройки.

insert_keeper_max_retries

Тип: UInt64

Значение по умолчанию: 20

Эта настройка устанавливает максимальное количество повторов для запросов ClickHouse Keeper (или ZooKeeper) во время вставки в реплицируемый MergeTree. Повторяются только те запросы к Keeper, которые завершились ошибкой из-за сетевой ошибки, истечения времени сессии Keeper или тайм-аута запроса.

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

  • Положительное целое число.
  • 0 — Повторы отключены.

Значение по умолчанию в облаке: 20.

Повторы запросов к Keeper выполняются после тайм-аута. Тайм-аут контролируется следующими настройками: insert_keeper_retry_initial_backoff_ms, insert_keeper_retry_max_backoff_ms. Первый повтор выполняется после тайм-аута insert_keeper_retry_initial_backoff_ms. Последующие таймауты будут рассчитаны следующим образом:

Например, если insert_keeper_retry_initial_backoff_ms=100, insert_keeper_retry_max_backoff_ms=10000 и insert_keeper_max_retries=8, тогда таймауты будут 100, 200, 400, 800, 1600, 3200, 6400, 10000.

Помимо отказоустойчивости, повторные попытки нацелены на улучшение пользовательского опыта - они позволяют избежать возврата ошибки во время выполнения INSERT, если Keeper перезапущен, например, из-за обновления.

insert_keeper_retry_initial_backoff_ms

Тип: UInt64

Значение по умолчанию: 100

Начальный тайм-аут (в миллисекундах) для повторения неудачного запроса к Keeper во время выполнения INSERT запроса.

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

  • Положительное целое число.
  • 0 — Нет тайм-аута

insert_keeper_retry_max_backoff_ms

Тип: UInt64

Значение по умолчанию: 10000

Максимальный тайм-аут (в миллисекундах) для повторения неудачного запроса к Keeper во время выполнения INSERT запроса.

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

  • Положительное целое число.
  • 0 — Максимальный тайм-аут не ограничен

insert_null_as_default

Тип: Bool

Значение по умолчанию: 1

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

Эта настройка применима к INSERT ... SELECT запросам. Обратите внимание, что подзапросы SELECT могут быть соединены оператором UNION ALL.

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

  • 0 — Вставка NULL в не nullable столбец вызывает исключение.
  • 1 — Значение по умолчанию вставляется вместо NULL.

insert_quorum

Тип: UInt64Auto

Значение по умолчанию: 0

примечание

Эта настройка не применима к SharedMergeTree, для получения дополнительной информации см. SharedMergeTree consistency.

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

  • Если insert_quorum < 2, кворумные записи отключены.
  • Если insert_quorum >= 2, кворумные записи включены.
  • Если insert_quorum = 'auto', используется большинство (number_of_replicas / 2 + 1) в качестве числа кворума.

Кворумные записи

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

Когда insert_quorum_parallel отключен, все реплики в кворуме согласованы, т.е. они содержат данные от всех предыдущих INSERT запросов (последовательность INSERT линейнозирована). При чтении данных, записанных с использованием insert_quorum и insert_quorum_parallel отключен, вы можете включить последовательную согласованность для SELECT запросов с использованием select_sequential_consistency.

ClickHouse генерирует исключение:

  • Если количество доступных реплик в момент запроса меньше, чем insert_quorum.
  • Когда insert_quorum_parallel отключен и попытка записи данных происходит, когда предыдущий блок ещё не был вставлен на insert_quorum реплик. Эта ситуация может возникнуть, если пользователь пытается выполнить другой INSERT запрос в ту же таблицу до завершения предыдущего с insert_quorum.

См. также:

insert_quorum_parallel

Тип: Bool

Значение по умолчанию: 1

примечание

Эта настройка не применима к SharedMergeTree, для получения дополнительной информации см. SharedMergeTree consistency.

Включает или отключает параллелизм для кворумных INSERT запросов. Если включено, дополнительные INSERT запросы могут быть отправлены, пока предыдущие запросы ещё не завершены. Если отключено, дополнительные записи в ту же таблицу будут отклонены.

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

  • 0 — Отключено.
  • 1 — Включено.

См. также:

insert_quorum_timeout

Тип: Milliseconds

Значение по умолчанию: 600000

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

См. также:

insert_shard_id

Тип: UInt64

Значение по умолчанию: 0

Если не 0, указывает шарду Distributed таблицы, в которую данные будут вставлены синхронно.

Если значение insert_shard_id неправильное, сервер выдаст исключение.

Чтобы получить количество шард на requested_cluster, вы можете проверить конфигурацию сервера или использовать этот запрос:

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

  • 0 — Отключено.
  • Любое число от 1 до shards_num соответствующей Distributed таблицы.

Пример

Запрос:

Результат:

interactive_delay

Тип: UInt64

Значение по умолчанию: 100000

Интервал в микросекундах для проверки, было ли выполнено прекращение выполнения запроса и отправки прогресса.

intersect_default_mode

Тип: SetOperationMode

Значение по умолчанию: ALL

Устанавливает режим по умолчанию в запросе INTERSECT. Возможные значения: пустая строка, 'ALL', 'DISTINCT'. Если пусто, запрос без режима вызовет исключение.

join_algorithm

Тип: JoinAlgorithm

Значение по умолчанию: direct,parallel_hash,hash

Определяет, какой алгоритм JOIN используется.

Может быть указано несколько алгоритмов, и подходящий будет выбран для определённого запроса на основе типа/строгости и движка таблицы.

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

  • grace_hash

Grace hash join используется. Grace hash предоставляет вариант алгоритма, который обеспечивает производительные сложные соединения при ограничении использования памяти.

Первая фаза grace join читает правую таблицу и делит её на N сегментов в зависимости от хеш-значения ключевых столбцов (изначально, N это grace_hash_join_initial_buckets). Это делается таким образом, чтобы каждый сегмент можно было обработать независимо. Строки из первого сегмента добавляются в хеш-таблицу в оперативной памяти, а остальные сохраняются на диск. Если хеш-таблица превысит лимит памяти (например, установленный через max_bytes_in_join, число сегментов увеличивается и переопределяется сегмент для каждой строки. Любые строки, которые не относятся к текущему сегменту, сбрасываются и переназначаются.

Поддерживает INNER/LEFT/RIGHT/FULL ALL/ANY JOIN.

  • hash

Hash join algorithm используется. Наиболее универсальная реализация, поддерживающая все комбинации типа и строгости и множественные ключи соединения, которые объединяются с помощью OR в секции JOIN ON.

При использовании алгоритма hash, правая часть JOIN загружается в оперативную память.

  • parallel_hash

Вариант hash join, который разбивает данные на сегменты и строит несколько хеш-таблиц вместо одной одновременно, чтобы ускорить этот процесс.

При использовании алгоритма parallel_hash, правая часть JOIN загружается в оперативную память.

  • partial_merge

Вариант алгоритма сортировки-соединения, где только правая таблица полностью отсортирована.

RIGHT JOIN и FULL JOIN поддерживаются только со строгостью ALL (SEMI, ANTI, ANY и ASOF не поддерживаются).

При использовании алгоритма partial_merge, ClickHouse сортирует данные и сбрасывает их на диск. Алгоритм partial_merge в ClickHouse немного отличается от классической реализации. Сначала ClickHouse сортирует правую таблицу по ключам соединения в блоках и создаёт разреженный индекс для отсортированных блоков. Затем он сортирует части левой таблицы по ключу соединения и соединяет их с правой таблицей. Разреженный индекс также используется для пропуска ненужных блоков правой таблицы.

  • direct

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

Алгоритм direct выполняет поиск в правой таблице, используя строки из левой таблицы в качестве ключей. Он поддерживается только для специального хранилища, такого как Dictionary или EmbeddedRocksDB, и только для LEFT и INNER JOIN.

  • auto

Когда установлено auto, сначала пробуется hash join, и алгоритм переключается на другой на лету, если лимит памяти нарушен.

  • full_sorting_merge

Алгоритм сортировки-соединения с полной сортировкой соединяемых таблиц перед объединением.

  • prefer_partial_merge

ClickHouse всегда пытается использовать partial_merge join, если возможно, иначе использует hash. Устаревший, то же, что и partial_merge,hash.

  • default (устаревший)

Устаревшее значение, пожалуйста, больше не используйте. То же самое, что direct,hash, т.е. пытается использовать прямое соединение и хеш join (в этом порядке).

join_any_take_last_row

Тип: Bool

Значение по умолчанию: 0

Изменяет поведение операций соединения с ANY строгостью.

примечание

Эта настройка применяется только к операциям JOIN с таблицами на движке Join.

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

  • 0 — Если в правой таблице больше одной подходящей строки, соединяется только первая найденная.
  • 1 — Если в правой таблице больше одной подходящей строки, соединяется только последняя найденная.

См. также:

join_default_strictness

Тип: JoinStrictness

Значение по умолчанию: ALL

Устанавливает строгость по умолчанию для клауз JOIN.

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

  • ALL — Если в правой таблице несколько подходящих строк, ClickHouse создаёт кардинальное произведение из подходящих строк. Это нормальное поведение JOIN из стандартного SQL.
  • ANY — Если в правой таблице несколько подходящих строк, соединяется только первая найденная. Если в правой таблице только одна подходящая строка, результаты ANY и ALL одинаковы.
  • ASOF — Для соединения последовательностей с неопределённым соответствием.
  • Empty string — Если в запросе не указаны ALL или ANY, ClickHouse генерирует исключение.

join_on_disk_max_files_to_merge

Тип: UInt64

Значение по умолчанию: 64

Ограничивает количество файлов, допустимых для параллельной сортировки в операциях MergeJoin, когда они выполняются на диске.

Чем больше значение настройки, тем больше оперативной памяти используется и тем меньше ввод-вывод диска необходим.

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

  • Любое положительное целое число, начиная с 2.

join_output_by_rowlist_perkey_rows_threshold

Тип: UInt64

Значение по умолчанию: 5

Нижний предел среднего количества строк на ключ в правой таблице, чтобы определить, следует ли выводить по списку строк в hash join.

join_overflow_mode

Тип: OverflowMode

Значение по умолчанию: throw

Что делать при превышении лимита.

join_to_sort_maximum_table_rows

Experimental feature. Learn more.

Тип: UInt64

Значение по умолчанию: 10000

Максимальное количество строк в правой таблице для определения, следует ли перенастроить правую таблицу по ключу в левом или внутреннем join.

join_to_sort_minimum_perkey_rows

Experimental feature. Learn more.

Тип: UInt64

Значение по умолчанию: 40

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

join_use_nulls

Тип: Bool

Значение по умолчанию: 0

Устанавливает тип поведения JOIN. При объединении таблиц могут появляться пустые ячейки. ClickHouse заполняет их по-разному в зависимости от этой настройки.

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

  • 0 — Пустые ячейки заполняются значением по умолчанию для соответствующего типа поля.
  • 1 — JOIN ведёт себя так же, как в стандартном SQL. Тип соответствующего поля преобразуется в Nullable, а пустые ячейки заполняются NULL.

joined_subquery_requires_alias

Тип: Bool

Значение по умолчанию: 1

Принуждает связанные подзапросы и табличные функции иметь псевдонимы для корректной квалификации имени.

kafka_disable_num_consumers_limit

Тип: Bool

Значение по умолчанию: 0

Отключить лимит на kafka_num_consumers, который зависит от количества доступных ядер CPU.

kafka_max_wait_ms

Тип: Milliseconds

Значение по умолчанию: 5000

Время ожидания в миллисекундах на чтение сообщений из Kafka перед повторной попыткой.

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

  • Положительное целое число.
  • 0 — Бесконечный тайм-аут.

См. также:

keeper_map_strict_mode

Тип: Bool

Значение по умолчанию: 0

Усилить дополнительные проверки в ходе операций с KeeperMap. Например, вызывать исключение при вставке уже существующего ключа.

keeper_max_retries

Тип: UInt64

Значение по умолчанию: 10

Максимальное количество повторных попыток для общих операций в Keeper.

keeper_retry_initial_backoff_ms

Тип: UInt64

Значение по умолчанию: 100

Начальный тайм-аут для повторных попыток общих операций в Keeper.

keeper_retry_max_backoff_ms

Тип: UInt64

Значение по умолчанию: 5000

Максимальный тайм-аут для повторных попыток общих операций в Keeper.

least_greatest_legacy_null_behavior

Тип: Bool

Значение по умолчанию: 0

Если включено, функции 'least' и 'greatest' возвращают NULL, если один из их аргументов равен NULL.

legacy_column_name_of_tuple_literal

Тип: Bool

Значение по умолчанию: 0

Список всех имён элементов больших литералов кортежей в их именах столбцов вместо хеша. Эта настройка существует только по причинам совместимости. Имеет смысл установить в 'true', при выполнении обновления кластера с версии ниже чем 21.7 на более новую.

lightweight_deletes_sync

Тип: UInt64

Значение по умолчанию: 2

То же, что и mutations_sync, но управляет только выполнением легковесных удалений.

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

  • 0 - Мутации выполняются асинхронно.
  • 1 - Запрос ожидает завершения легковесных удалений на текущем сервере.
  • 2 - Запрос ожидает завершения легковесных удалений на всех репликах (если они существуют).

См. также

limit

Тип: UInt64

Значение по умолчанию: 0

Устанавливает максимальное количество строк для получения из результата запроса. Он корректирует значение, установленное клаузой LIMIT, так что лимит, указанный в запросе, не может превышать лимит, установленный этой настройкой.

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

  • 0 — Количество строк не ограничено.
  • Положительное целое число.

live_view_heartbeat_interval

Experimental feature. Learn more.

Тип: Seconds

Значение по умолчанию: 15

Интервал сердцебиения в секундах, чтобы указать, что live-запрос активен.

load_balancing

Тип: LoadBalancing

Значение по умолчанию: random

Определяет алгоритм выбора реплик, который используется для распределённой обработки запросов.

ClickHouse поддерживает следующие алгоритмы выбора реплик:

См. также:

Случайно (по умолчанию)

Количество ошибок учитывается для каждой реплики. Запрос отправляется на реплику с наименьшим количеством ошибок, а если таких несколько, то на любую из них. Недостатки: близость сервера не учитывается; если у реплик разные данные, вы также получите разные данные.

Ближайшее имя хоста

Количество ошибок подсчитывается для каждой реплики. Каждые 5 минут количество ошибок делится пополам. Таким образом, количество ошибок рассчитывается за недавнее время с экспоненциальным сглаживанием. Если есть одна реплика с минимальным количеством ошибок (т.е. ошибки недавно произошли на других репликах), запрос направляется к ней. Если есть несколько реплик с одинаковым минимальным количеством ошибок, запрос отправляется на реплику с именем хоста, наиболее похожим на имя сервера в файле конфигурации (по количеству различных символов на идентичных позициях, до минимальной длины обоих имён хостов).

Например, example01-01-1 и example01-01-2 отличаются в одной позиции, в то время как example01-01-1 и example01-02-2 отличаются в двух местах. Этот метод может показаться примитивным, но он не требует внешних данных о топологии сети и не сравнивает IP-адреса, что было бы сложным для наших IPv6-адресов.

Таким образом, если есть равнозначные реплики, предпочтение отдается ближайшей по имени. Мы также можем предположить, что при отправке запроса на тот же сервер, в отсутствие сбоев, распределённый запрос также пойдёт на те же серверы. Поэтому, даже если на репликах располагаются разные данные, запрос, в основном, вернёт те же результаты.

Расстояние Левенштейна для имени хоста

Подобно nearest_hostname, но сравнивает имя хоста по расстоянию Левенштейна. Например:

В порядке

К репликам с одинаковым количеством ошибок обращаются в том порядке, в котором они указаны в конфигурации. Этот метод подходит, когда точно известно, какая реплика предпочитается.

Первая или случайная

Этот алгоритм выбирает первую реплику в наборе или случайную реплику, если первая недоступна. Он эффективен в настройках перекрёстной топологии репликации, но бесполезен в других конфигурациях.

Алгоритм first_or_random решает проблему алгоритма in_order. С in_order, если одна реплика выходит из строя, следующая получает двойную нагрузку, в то время как оставшиеся реплики обрабатывают обычное количество трафика. При использовании алгоритма first_or_random нагрузка равномерно распределяется между доступными репликами.

Можно явно определить, какой реплика является первой, используя настройку load_balancing_first_offset. Это предоставляет больший контроль для перераспределения нагрузки запросов между репликами.

Круговая очередь

Этот алгоритм использует политику круговой очереди между репликами с одинаковым количеством ошибок (учитываются только запросы с политикой round_robin).

load_balancing_first_offset

Тип: UInt64

Значение по умолчанию: 0

Какая реплика предпочтительно отправляется запрос, когда используется стратегия балансировки нагрузки FIRST_OR_RANDOM.

load_marks_asynchronously

Тип: Bool

Значение по умолчанию: 0

Асинхронная загрузка меток MergeTree

local_filesystem_read_method

Тип: String

Значение по умолчанию: pread_threadpool

Метод чтения данных с локальной файловой системы, один из: read, pread, mmap, io_uring, pread_threadpool. Метод 'io_uring' является экспериментальным и не работает для Log, TinyLog, StripeLog, File, Set и Join, и других таблиц с добавляемыми файлами при наличии одновременного чтения и записи.

local_filesystem_read_prefetch

Тип: Bool

Значение по умолчанию: 0

Необходимо ли использовать предварительную выборку при чтении данных с локальной файловой системы.

lock_acquire_timeout

Тип: Секунды

Значение по умолчанию: 120

Определяет, сколько секунд запрос на блокировку ожидает перед завершением с ошибкой.

Тайм-аут блокировки используется для защиты от взаимных блокировок при выполнении операций чтения/записи с таблицами. Когда время ожидания истекает и запрос на блокировку не удаётся, сервер ClickHouse выбрасывает исключение "Время попытки блокировки истекло! Возможная взаимная блокировка предотвращена. Клиент должен повторить попытку." с кодом ошибки DEADLOCK_AVOIDED.

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

  • Положительное целое число (в секундах).
  • 0 — Без тайм-аута блокировки.

log_comment

Тип: String

Значение по умолчанию:

Устанавливает значение для поля log_comment в таблице system.query_log и текст комментария для серверного лога.

Может использоваться для улучшения читаемости серверных логов. Кроме того, это помогает выбрать запросы, связанные с тестом, из system.query_log после выполнения clickhouse-test.

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

  • Любая строка длиной не более max_query_size. Если превышено значение max_query_size, сервер выбрасывает исключение.

Пример

Запрос:

Результат:

log_formatted_queries

Тип: Bool

Значение по умолчанию: 0

Позволяет логировать отформатированные запросы в системную таблицу system.query_log (заполняет столбец formatted_query в system.query_log).

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

  • 0 — Отформатированные запросы не логируются в системной таблице.
  • 1 — Отформатированные запросы логируются в системной таблице.

log_processors_profiles

Тип: Bool

Значение по умолчанию: 1

Записывает время, которое процессор потратил во время выполнения/ожидания данных в таблицу system.processors_profile_log.

См. также:

log_profile_events

Тип: Bool

Значение по умолчанию: 1

Логировать статистику производительности запроса в query_log, query_thread_log и query_views_log.

log_queries

Тип: Bool

Значение по умолчанию: 1

Настройка логирования запросов.

Запросы, отправленные в ClickHouse с этой настройкой, логируются в соответствии с правилами в параметре конфигурации сервера query_log.

Пример:

log_queries_cut_to_length

Тип: UInt64

Значение по умолчанию: 100000

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

log_queries_min_query_duration_ms

Тип: Миллисекунды

Значение по умолчанию: 0

Если включено (ненулевое значение), запросы быстрее заданного значения этой настройки не будут логироваться (это можно рассматривать как long_query_time для MySQL Slow Query Log), и это, по сути, означает, что вы не найдёте их в следующих таблицах:

  • system.query_log
  • system.query_thread_log

Только запросы с следующим типом попадут в лог:

  • QUERY_FINISH

  • EXCEPTION_WHILE_PROCESSING

  • Тип: миллисекунды

  • Значение по умолчанию: 0 (любой запрос)

log_queries_min_type

Тип: LogQueriesType

Значение по умолчанию: QUERY_START

Минимальный тип query_log для логирования.

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

  • QUERY_START (=1)
  • QUERY_FINISH (=2)
  • EXCEPTION_BEFORE_START (=3)
  • EXCEPTION_WHILE_PROCESSING (=4)

Можно использовать для ограничения, какие сущности попадут в query_log, например если вас интересуют только ошибки, тогда вы можете использовать EXCEPTION_WHILE_PROCESSING:

log_queries_probability

Тип: Float

Значение по умолчанию: 1

Позволяет пользователю записывать в системные таблицы query_log, query_thread_log и query_views_log только выборку запросов, выбранных случайным образом с указанной вероятностью. Это помогает снизить нагрузку при большом объёме запросов в секунду.

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

  • 0 — Запросы не логируются в системных таблицах.
  • Положительное вещественное число в диапазоне [0..1]. Например, если значение настройки равно 0.5, около половины запросов логируются в системных таблицах.
  • 1 — Все запросы логируются в системных таблицах.

log_query_settings

Тип: Bool

Значение по умолчанию: 1

Логировать настройки запроса в query_log и лог span OpenTelemetry.

log_query_threads

Тип: Bool

Значение по умолчанию: 0

Настройка логирования потоков запросов.

Потоки запросов логируются в таблицу system.query_thread_log. Эта настройка действует только когда log_queries установлено в true. Потоки запросов, выполняемые ClickHouse с этой настройкой, логируются в соответствии с правилами в параметре конфигурации сервера query_thread_log.

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

  • 0 — Отключено.
  • 1 — Включено.

Пример

log_query_views

Тип: Bool

Значение по умолчанию: 1

Настройка логирования представлений запросов.

Когда запрос, выполняемый ClickHouse с этой настройкой, имеет связанные представления (материализованные или live), они логируются в параметре конфигурации сервера query_views_log.

Пример:

low_cardinality_allow_in_native_format

Тип: Bool

Значение по умолчанию: 1

Разрешает или запрещает использование типа данных LowCardinality с форматом Native.

Если использование LowCardinality запрещено, сервер ClickHouse преобразует LowCardinality-столбцы в обычные для SELECT запросов и преобразует обычные столбцы в LowCardinality-столбцы для INSERT запросов.

Эта настройка необходима в основном для сторонних клиентов, которые не поддерживают тип данных LowCardinality.

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

  • 1 — Использование LowCardinality не ограничено.
  • 0 — Использование LowCardinality ограничено.

low_cardinality_max_dictionary_size

Тип: UInt64

Значение по умолчанию: 8192

Устанавливает максимальный размер в строках для общего глобального словаря для типа данных LowCardinality, который может быть записан на файловую систему хранения. Эта настройка предотвращает проблемы с RAM в случае неограниченного роста словаря. Все данные, которые не могут быть закодированы из-за ограничения на максимальный размер словаря, ClickHouse записывает обычным методом.

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

  • Любое положительное целое число.

low_cardinality_use_single_dictionary_for_part

Тип: Bool

Значение по умолчанию: 0

Включает или отключает использование единого словаря для части данных.

По умолчанию сервер ClickHouse следит за размером словарей, и если словарь переполняется, сервер начинает записывать следующий. Чтобы запретить создание нескольких словарей, установите low_cardinality_use_single_dictionary_for_part = 1.

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

  • 1 — Создание нескольких словарей для части данных запрещено.
  • 0 — Создание нескольких словарей для части данных не запрещено.

low_priority_query_wait_time_ms

Beta feature. Learn more.

Тип: Миллисекунды

Значение по умолчанию: 1000

Время ожидания в миллисекундах, когда запрос с более низким приоритетом встречает запрос с более высоким приоритетом.

materialize_skip_indexes_on_insert

Тип: Bool

Значение по умолчанию: 1

Создаются ли и сохраняются пропуски индексов при вставке. Если отключено, пропуски индексов будут созданы и сохранены во время слияний или с помощью явного MATERIALIZE INDEX

materialize_statistics_on_insert

Тип: Bool

Значение по умолчанию: 1

Создаются ли и вставляются статистики при вставке. Если отключено, статистики будут созданы и сохранены во время слияний или с помощью явного MATERIALIZE STATISTICS

materialize_ttl_after_modify

Тип: Bool

Значение по умолчанию: 1

Применять TTL для старых данных после запроса ALTER MODIFY TTL

materialized_views_ignore_errors

Тип: Bool

Значение по умолчанию: 0

Разрешает игнорировать ошибки для MATERIALIZED VIEW и доставлять исходный блок в таблицу независимо от материальных представлений

max_analyze_depth

Тип: UInt64

Значение по умолчанию: 5000

Максимальное количество анализов, выполняемых интерпретатором.

max_ast_depth

Тип: UInt64

Значение по умолчанию: 1000

Максимальная глубина синтаксического дерева запроса. Проверяется после разбора.

max_ast_elements

Тип: UInt64

Значение по умолчанию: 50000

Максимальный размер синтаксического дерева запроса в количестве узлов. Проверяется после разбора.

max_autoincrement_series

Тип: UInt64

Значение по умолчанию: 1000

Ограничение на количество серий, создаваемых функцией generateSeriesID.

Поскольку каждая серия представляет собой узел в Keeper, рекомендуется иметь не более пары миллионов из них.

max_backup_bandwidth

Тип: UInt64

Значение по умолчанию: 0

Максимальная скорость чтения в байтах в секунду для определённой резервной копии на сервере. Ноль означает неограниченное значение.

max_block_size

Тип: UInt64

Значение по умолчанию: 65409

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

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

Размер блока не должен быть слишком маленьким, чтобы избежать заметных затрат при обработке каждого блока. Он также не должен быть слишком большим, чтобы запросы с оператором LIMIT выполнялись быстро после обработки первого блока. При задании max_block_size, цель должна быть в избежании чрезмерного потребления памяти при извлечении большого количества столбцов в нескольких потоках и в сохранении хотя бы некоторой локальности кэша.

max_bytes_before_external_group_by

Тип: UInt64

Значение по умолчанию: 0

Если использование памяти при операции GROUP BY превышает этот порог в байтах, активируется режим 'внешней агрегации' (списать данные на диск). Рекомендуемое значение составляет половину доступной системной памяти.

max_bytes_before_external_sort

Тип: UInt64

Значение по умолчанию: 0

Если использование памяти при операции ORDER BY превышает этот порог в байтах, активируется режим 'внешней сортировки' (списать данные на диск). Рекомендуемое значение составляет половину доступной системной памяти.

max_bytes_before_remerge_sort

Тип: UInt64

Значение по умолчанию: 1000000000

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

max_bytes_in_distinct

Тип: UInt64

Значение по умолчанию: 0

Максимальный общий размер состояния (в несжатых байтах) в памяти для выполнения DISTINCT.

max_bytes_in_join

Тип: UInt64

Значение по умолчанию: 0

Максимальный размер хеш-таблицы для JOIN (в байтах в памяти).

max_bytes_in_set

Тип: UInt64

Значение по умолчанию: 0

Максимальный размер множества (в байтах в памяти), полученного в результате выполнения секции IN.

max_bytes_ratio_before_external_group_by

Тип: Double

Значение по умолчанию: 0.5

Отношение используемой памяти перед включением внешней GROUP BY. Если вы установите его на 0.6, внешняя GROUP BY будет использоваться, как только использование памяти достигнет 60% от разрешённой памяти для запроса.

max_bytes_ratio_before_external_sort

Тип: Double

Значение по умолчанию: 0.5

Отношение используемой памяти перед включением внешней ORDER BY. Если вы установите его на 0.6, внешняя ORDER BY будет использоваться, как только использование памяти достигнет 60% от разрешённой памяти для запроса.

max_bytes_to_read

Тип: UInt64

Значение по умолчанию: 0

Ограничение на читаемые байты (после декомпрессии) из самых 'глубоких' источников. То есть, только в самой глубокой подзапросе. При чтении с удалённого сервера, оно проверяется только на удалённом сервере.

max_bytes_to_read_leaf

Тип: UInt64

Значение по умолчанию: 0

Ограничение на читаемые байты (после декомпрессии) на конечных узлах для распределённых запросов. Ограничение применяется только для локальных чтений, за исключением финальной стадии слияния на корневом узле. Обратите внимание, что настройка нестабильна с prefer_localhost_replica=1.

max_bytes_to_sort

Тип: UInt64

Значение по умолчанию: 0

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

max_bytes_to_transfer

Тип: UInt64

Значение по умолчанию: 0

Максимальный размер (в несжатых байтах) передаваемой внешней таблицы, полученной при выполнении секции GLOBAL IN/JOIN.

max_columns_to_read

Тип: UInt64

Значение по умолчанию: 0

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

max_compress_block_size

Тип: UInt64

Значение по умолчанию: 1048576

Максимальный размер блоков несжатых данных перед сжатием для записи в таблицу. По умолчанию, 1 048 576 (1 МиБ). Указание меньшего размера блока обычно приводит к немного более низкому коэффициенту сжатия, скорость сжатия и распаковки немного увеличивается из-за локальности кеша, а потребление памяти сокращается.

примечание

Это настройка уровня эксперта, и вы не должны её менять, если только вы не начинаете работу с ClickHouse.

Не путайте блоки для сжатия (кусок памяти, состоящий из байт) с блоками для обработки запросов (набор строк из таблицы).

max_concurrent_queries_for_all_users

Тип: UInt64

Значение по умолчанию: 0

Выбрасывает исключение, если значение этой настройки меньше или равно текущему количеству одновременно обрабатываемых запросов.

Пример: max_concurrent_queries_for_all_users может быть установлен на 99 для всех пользователей, и администратор базы данных может установить его на 100 для себя, чтобы запускать запросы для расследования, даже когда сервер перегружен.

Изменение настройки для одного запроса или пользователя не влияет на другие запросы.

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

  • Положительное целое число.
  • 0 — Нет ограничения.

Пример

См. также

max_concurrent_queries_for_user

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество одновременно обрабатываемых запросов на пользователя.

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

  • Положительное целое число.
  • 0 — Нет ограничения.

Пример

max_distributed_connections

Тип: UInt64

Значение по умолчанию: 1024

Максимальное количество одновременных подключений к удалённым серверам для распределённой обработки одного запроса к одной распределённой таблице. Рекомендуется установить значение не меньше количества серверов в кластере.

Следующие параметры используются только при создании распределённых таблиц (и при запуске сервера), поэтому нет смысла изменять их во время исполнения.

max_distributed_depth

Тип: UInt64

Значение по умолчанию: 5

Ограничивает максимальную глубину рекурсивных запросов для Distributed таблиц.

Если значение превышено, сервер выбрасывает исключение.

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

  • Положительное целое число.
  • 0 — Неограниченная глубина.

max_download_buffer_size

Тип: UInt64

Значение по умолчанию: 10485760

Максимальный размер буфера для параллельной загрузки (например, для URL-движка) на каждый поток.

max_download_threads

Тип: MaxThreads

Значение по умолчанию: 4

Максимальное количество потоков для загрузки данных (например, для URL-движка).

max_estimated_execution_time

Тип: Секунды

Значение по умолчанию: 0

Максимальное время оценки выполнения запроса в секундах.

max_execution_speed

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество строк выполнения в секунду.

max_execution_speed_bytes

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество байт выполнения в секунду.

max_execution_time

Тип: Секунды

Значение по умолчанию: 0

Если время выполнения запроса превышает заданное количество секунд, поведение будет определяться 'timeout_overflow_mode', который по умолчанию - выбросить исключение. Обратите внимание, что таймаут проверяется, и запрос может остановиться только в обозначенных местах во время обработки данных. В настоящее время он не может остановиться во время слияния состояний агрегации или во время анализа запроса, и фактическое время выполнения будет выше значения этой настройки.

max_execution_time_leaf

Тип: Секунды

Значение по умолчанию: 0

Подобное поведение как и у max_execution_time, но применяется только на конечном узле для распределённых запросов, поведение при таймауте будет определяться 'timeout_overflow_mode_leaf', который по умолчанию - выбросить исключение.

max_expanded_ast_elements

Тип: UInt64

Значение по умолчанию: 500000

Максимальный размер синтаксического дерева запроса в количестве узлов после развёртывания псевдонимов и звёздочки.

max_fetch_partition_retries_count

Тип: UInt64

Значение по умолчанию: 5

Количество попыток при получении раздела с другого хоста.

max_final_threads

Тип: MaxThreads

Значение по умолчанию: 'auto(14)'

Устанавливает максимальное количество параллельных потоков для фазы чтения данных запроса SELECT с модификатором FINAL.

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

  • Положительное целое число.
  • 0 или 1 — Отключено. SELECT запросы выполняются в одном потоке.

max_http_get_redirects

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество переходов HTTP GET-редиректов, которые разрешены. Обеспечивает дополнительные меры безопасности, чтобы предотвратить перенаправление вредоносным сервером ваших запросов на неожиданные службы.\n\nЭто происходит, когда внешний сервер перенаправляет на другой адрес, но тот адрес оказывается внутренним в инфраструктуре компании, и, отправив HTTP-запрос на внутренний сервер, вы могли бы запросить внутренний API из внутренней сети, обходя аутентификацию, или даже запросить другие службы, такие как Redis или Memcached. Если у вас нет внутренней инфраструктуры (включая что-то, что работает на вашем localhost), или вы доверяете серверу, безопасно разрешить редиректы. Хотя не стоит забывать, что если URL использует HTTP вместо HTTPS, то доверять придётся не только удалённому серверу, но также вашему ISP и каждой сети посередине.

max_hyperscan_regexp_length

Тип: UInt64

Значение по умолчанию: 0

Определяет максимальную длину для каждого регулярного выражения в функциях многократного совпадения на гиперскане.

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

  • Положительное целое число.
  • 0 — Длина не ограничена.

Пример

Запрос:

Результат:

Запрос:

Результат:

См. также

max_hyperscan_regexp_total_length

Тип: UInt64

Значение по умолчанию: 0

Устанавливает максимальную общую длину всех регулярных выражений в каждой функции многократного совпадения на гиперскане.

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

  • Положительное целое число.
  • 0 — Длина не ограничена.

Пример

Запрос:

Результат:

Запрос:

Результат:

См. также

max_insert_block_size

Тип: UInt64

Значение по умолчанию: 1048449

Размер блоков (в количестве строк) для формирования при вставке в таблицу. Эта настройка применяется только в случаях, когда сервер формирует блоки. Например, при вставке через HTTP интерфейс, сервер разбирает формат данных и формирует блоки заданного размера. Но при использовании clickhouse-client, клиент сам разбирает данные, и настройка 'max_insert_block_size' на сервере не влияет на размер вставленных блоков. Настройка также не имеет цели при использовании INSERT SELECT, так как данные вставляются с использованием тех же блоков, которые формируются после SELECT.

По умолчанию немного больше, чем max_block_size. Причиной этому является то, что определённые движки таблиц (*MergeTree) формируют часть данных на диске для каждого вставленного блока, что является довольно большой сущностью. Аналогично, таблицы *MergeTree сортируют данные при вставке, и достаточно большой размер блока позволяет сортировать больше данных в RAM.

max_insert_delayed_streams_for_parallel_write

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество потоков (столбцов) для задержки окончательной записи части. По умолчанию - авто (100 в случае, если поддерживается параллельная запись в основное хранилище, например S3, и отключено в противном случае).

max_insert_threads

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество потоков для выполнения запроса INSERT SELECT.

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

  • 0 (или 1) — INSERT SELECT без параллельного выполнения.
  • Положительное целое число. Больше чем 1.

Значение по умолчанию в облаке: от 2 до 4, в зависимости от размера обслуживания.

Параллельный INSERT SELECT влияет только в случае, если часть SELECT выполняется параллельно, см. настройку max_threads. Более высокие значения приведут к большему использованию памяти.

max_joined_block_size_rows

Тип: UInt64

Значение по умолчанию: 65409

Максимальный размер блока для результата JOIN (если алгоритм объединения поддерживает это). 0 означает неограниченно.

max_limit_for_ann_queries

Experimental feature. Learn more.

Тип: UInt64

Значение по умолчанию: 1000000

Запросы SELECT с LIMIT большими, чем эта настройка, не могут использовать векторные индексы подобия. Помогает предотвратить переполнение памяти в векторных индексах подобия.

max_live_view_insert_blocks_before_refresh

Experimental feature. Learn more.

Тип: UInt64

Значение по умолчанию: 64

Ограничение на максимальное количество вставленных блоков, после которых сливаемые блоки сбрасываются, и запрос выполняется заново.

max_local_read_bandwidth

Тип: UInt64

Значение по умолчанию: 0

Максимальная скорость локальных чтений в байтах в секунду.

max_local_write_bandwidth

Тип: UInt64

Значение по умолчанию: 0

Максимальная скорость локальных записей в байтах в секунду.

max_memory_usage

Тип: UInt64

Значение по умолчанию: 0

Максимальное использование памяти для обработки одного запроса. Ноль означает неограниченно.

max_memory_usage_for_user

Тип: UInt64

Значение по умолчанию: 0

Максимальное использование памяти для обработки всех одновременно выполняющихся запросов для пользователя. Ноль означает неограниченно.

max_network_bandwidth

Тип: UInt64

Значение по умолчанию: 0

Ограничивает скорость обмена данными по сети в байтах в секунду. Эта настройка применяется к каждому запросу.

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

  • Положительное целое число.
  • 0 — Контроль пропускной способности отключён.

max_network_bandwidth_for_all_users

Тип: UInt64

Значение по умолчанию: 0

Ограничивает скорость обмена данными по сети в байтах в секунду. Эта настройка применяется ко всем одновременно выполняющимся запросам на сервере.

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

  • Положительное целое число.
  • 0 — Контроль скорости данных отключён.

max_network_bandwidth_for_user

Тип: UInt64

Значение по умолчанию: 0

Ограничивает скорость обмена данными по сети в байтах в секунду. Этот параметр применяется ко всем выполняемым одновременно запросам, выполняемым одним пользователем.

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

  • Положительное целое число.
  • 0 — Контроль скорости данных отключен.

max_network_bytes

Тип: UInt64

Значение по умолчанию: 0

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

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

  • Положительное целое число.
  • 0 — Контроль объема данных отключен.

max_number_of_partitions_for_independent_aggregation

Тип: UInt64

Значение по умолчанию: 128

Максимальное количество разделов в таблице для применения оптимизации

max_parallel_replicas

Тип: NonZeroUInt64

Значение по умолчанию: 1000

Максимальное количество реплик для каждого шарда при выполнении запроса.

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

  • Положительное целое число.

Дополнительная информация

Этот параметр будет давать разные результаты в зависимости от используемых настроек.

примечание

Этот параметр будет давать некорректные результаты, когда задействованы соединения или подзапросы, и не все таблицы соответствуют определённым требованиям. Подробнее см. Распределённые подзапросы и max_parallel_replicas.

Параллельная обработка с использованием ключа SAMPLE

Запрос может обрабатываться быстрее, если выполняется параллельно на нескольких серверах. Однако производительность запроса может снизиться в следующих случаях:

  • Положение ключа выборки в ключе разбиения не позволяет эффективно выполнять сканирование по диапазону.
  • Добавление ключа выборки в таблицу делает фильтрацию по другим столбцам менее эффективной.
  • Ключ выборки является выражением, которое дорого вычислять.
  • Распределение задержек в кластере имеет длинный хвост, из-за чего увеличение количества серверов увеличивает общую задержку запроса.

Параллельная обработка с использованием parallel_replicas_custom_key

Этот параметр полезен для любой реплицированной таблицы.

max_parser_backtracks

Тип: UInt64

Значение по умолчанию: 1000000

Максимальное количество бэктрэков парсера (сколько раз он пытается разные альтернативы в процессе рекурсивного нисходящего парсинга).

max_parser_depth

Тип: UInt64

Значение по умолчанию: 1000

Ограничивает максимальную глубину рекурсии в рекурсивном нисходящем парсере. Позволяет контролировать размер стека.

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

  • Положительное целое число.
  • 0 — Глубина рекурсии не ограничена.

max_parsing_threads

Тип: MaxThreads

Значение по умолчанию: 'auto(14)'

Максимальное количество потоков для парсинга данных в форматах ввода, которые поддерживают параллельный парсинг. По умолчанию определяется автоматически

max_partition_size_to_drop

Тип: UInt64

Значение по умолчанию: 50000000000

Ограничение на удаление разделов во время выполнения запроса. Значение 0 означает, что вы можете удалять разделы без каких-либо ограничений.

Значение по умолчанию для облака: 1 ТБ.

примечание

Эта настройка запроса переписывает эквивалентную серверную настройку, см. max_partition_size_to_drop

max_partitions_per_insert_block

Тип: UInt64

Значение по умолчанию: 100

Ограничение на максимальное количество разделов в одном вставляемом блоке. Ноль означает неограниченное количество. Генерируется исключение, если блок содержит слишком много разделов. Эта настройка является порогом безопасности, так как использование большого количества разделов является распространённым заблуждением.

max_partitions_to_read

Тип: Int64

Значение по умолчанию: -1

Ограничение на максимальное количество разделов, к которым можно получить доступ в одном запросе. <= 0 означает неограниченное количество.

max_parts_to_move

Тип: UInt64

Значение по умолчанию: 1000

Ограничение на количество частей, которые можно переместить в одном запросе. Ноль означает неограниченное количество.

max_query_size

Тип: UInt64

Значение по умолчанию: 262144

Максимальное количество байтов строки запроса, парсируемой SQL-парсером. Данные в секции VALUES запросов INSERT обрабатываются отдельным потоковым парсером (который использует O(1) ОЗУ) и не затрагивается этим ограничением.

примечание

max_query_size нельзя задать в SQL-запросе (например, SELECT now() SETTINGS max_query_size=10000), так как ClickHouse необходимо выделить буфер для парсинга запроса, и размер этого буфера определяется настройкой max_query_size, которая должна быть сконфигурирована до выполнения запроса.

max_read_buffer_size

Тип: UInt64

Значение по умолчанию: 1048576

Максимальный размер буфера для чтения из файловой системы.

max_read_buffer_size_local_fs

Тип: UInt64

Значение по умолчанию: 131072

Максимальный размер буфера для чтения из локальной файловой системы. Если установлено 0, то будет использоваться max_read_buffer_size.

max_read_buffer_size_remote_fs

Тип: UInt64

Значение по умолчанию: 0

Максимальный размер буфера для чтения из удаленной файловой системы. Если установлено 0, то будет использоваться max_read_buffer_size.

max_recursive_cte_evaluation_depth

Тип: UInt64

Значение по умолчанию: 1000

Максимальное ограничение на глубину оценки рекурсивных CTE

max_remote_read_network_bandwidth

Тип: UInt64

Значение по умолчанию: 0

Максимальная скорость обмена данными по сети в байтах в секунду для чтения.

max_remote_write_network_bandwidth

Тип: UInt64

Значение по умолчанию: 0

Максимальная скорость обмена данными по сети в байтах в секунду для записи.

max_replica_delay_for_distributed_queries

Тип: UInt64

Значение по умолчанию: 300

Отключает отстающие реплики для распределённых запросов. См. Репликация.

Устанавливает время в секундах. Если задержка реплики больше или равна установленному значению, эта реплика не используется.

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

  • Положительное целое число.
  • 0 — Задержки реплик не проверяются.

Чтобы избежать использования любой реплики с ненулевой задержкой, установите этот параметр в 1.

Используется при выполнении SELECT из распределенной таблицы, указывающей на реплицированные таблицы.

max_result_bytes

Тип: UInt64

Значение по умолчанию: 0

Ограничение на размер результата в байтах (несжатых). Запрос остановится после обработки блока данных при достижении порога, но он не разрежет последний блок результата, поэтому размер результата может быть больше порога. Примечание: размер результата в памяти учитывается для этого порога. Даже если размер результата мал, он может ссылаться на большие структуры данных в памяти, представляя словари столбцов с лоу кардиналити и арены столбцов функций агрегации, поэтому порог может быть превышен, несмотря на малый размер результата. Параметр является низкоуровневым и должен использоваться с осторожностью.

max_result_rows

Тип: UInt64

Значение по умолчанию: 0

Ограничение на размер результата в строках. Запрос остановится после обработки блока данных при достижении порога, но он не разрежет последний блок результата, поэтому размер результата может быть больше порога.

max_rows_in_distinct

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество элементов во время выполнения DISTINCT.

max_rows_in_join

Тип: UInt64

Значение по умолчанию: 0

Максимальный размер хеш-таблицы для JOIN (в количестве строк).

max_rows_in_set

Тип: UInt64

Значение по умолчанию: 0

Максимальный размер множества (в количестве элементов), полученного в результате выполнения в разделе IN.

max_rows_in_set_to_optimize_join

Тип: UInt64

Значение по умолчанию: 0

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

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

  • 0 — Отключить.
  • Любое положительное целое число.

max_rows_to_group_by

Тип: UInt64

Значение по умолчанию: 0

Если агрегация во время GROUP BY генерирует больше, чем указанное количество строк (уникальные ключи GROUP BY), поведение будет определено 'group_by_overflow_mode', который по умолчанию — выбросить исключение, но может быть переключен на режим аппроксимации GROUP BY.

max_rows_to_read

Тип: UInt64

Значение по умолчанию: 0

Ограничение на чтение строк из наиболее «глубоких» источников. То есть только в самом глубоком подзапросе. При чтении с удаленного сервера оно проверяется только на удаленном сервере.

max_rows_to_read_leaf

Тип: UInt64

Значение по умолчанию: 0

Ограничение на чтение строк на узлах листьев для распределённых запросов. Ограничение применяется только для локальных чтений, исключая финальную стадию слияния на корневом узле. Учтите, что настройка нестабильна с prefer_localhost_replica=1.

max_rows_to_sort

Тип: UInt64

Значение по умолчанию: 0

Если для операции ORDER BY приходится обрабатывать больше, чем указанное количество записей, поведение будет определено 'sort_overflow_mode', который по умолчанию — выбросить исключение.

max_rows_to_transfer

Тип: UInt64

Значение по умолчанию: 0

Максимальный размер (в строках) переданной внешней таблицы, полученной при выполнении секции GLOBAL IN/JOIN.

max_sessions_for_user

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество одновременных сессий для пользователя.

max_size_to_preallocate_for_aggregation

Тип: UInt64

Значение по умолчанию: 1000000000000

Количество элементов, для которого разрешено предварительное выделение пространства во всех хеш-таблицах в общем объёме до начала агрегации

max_size_to_preallocate_for_joins

Тип: UInt64

Значение по умолчанию: 1000000000000

Количество элементов, для которого разрешено предварительное выделение пространства во всех хеш-таблицах в общем объёме до начала соединения

max_streams_for_merge_tree_reading

Тип: UInt64

Значение по умолчанию: 0

Если не ноль, ограничивает количество потоков чтения для таблицы MergeTree.

max_streams_multiplier_for_merge_tables

Тип: Float

Значение по умолчанию: 5

Запрашивает больше потоков при чтении из объединенной таблицы. Потоки будут распределены по таблицам, которые будет использовать объединённая таблица. Это позволяет более равномерно распределить работу по потокам и особенно полезно, когда объединённые таблицы различаются по размеру.

max_streams_to_max_threads_ratio

Тип: Float

Значение по умолчанию: 1

Позволяет использовать больше источников, чем количество потоков, чтобы более равномерно распределить работу по потокам. Предполагается, что это временное решение, поскольку в будущем будет возможно сделать количество источников равным количеству потоков, но для каждого источника динамически выбирать доступную работу.

max_subquery_depth

Тип: UInt64

Значение по умолчанию: 100

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

max_table_size_to_drop

Тип: UInt64

Значение по умолчанию: 50000000000

Ограничение на удаление таблиц во время выполнения запроса. Значение 0 означает, что вы можете удалять все таблицы без каких-либо ограничений.

Значение по умолчанию для облака: 1 ТБ.

примечание

Эта настройка запроса переписывает эквивалентную серверную настройку, см. max_table_size_to_drop

max_temporary_columns

Тип: UInt64

Значение по умолчанию: 0

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

max_temporary_data_on_disk_size_for_query

Тип: UInt64

Значение по умолчанию: 0

Максимальный объём данных, потребляемых временными файлами на диске в байтах для всех одновременно выполняемых запросов. Ноль означает неограниченность.

max_temporary_data_on_disk_size_for_user

Тип: UInt64

Значение по умолчанию: 0

Максимальный объём данных, потребляемых временными файлами на диске в байтах для всех одновременно выполняемых пользовательских запросов. Ноль означает неограниченность.

max_temporary_non_const_columns

Тип: UInt64

Значение по умолчанию: 0

Аналогично настройке 'max_temporary_columns', но применяется только к неконстантным столбцам. Это имеет смысл, потому что константные столбцы обходятся дёшево, и их разумно разрешить больше.

max_threads

Тип: MaxThreads

Значение по умолчанию: 'auto(14)'

Максимальное количество потоков обработки запросов, исключая потоки для получения данных с удалённых серверов (см. параметр 'max_distributed_connections').

Этот параметр применяется к потокам, выполняющим одинаковые стадии конвейера обработки запросов параллельно. Например, при чтении из таблицы, если возможно выполнять выражения с функциями, фильтрацию с помощью WHERE и предварительную агрегацию для GROUP BY параллельно с использованием по крайней мере 'max_threads' потоков, то используется 'max_threads' потоков.

Для запросов, которые завершаются быстро из-за LIMIT, вы можете задать меньшее значение 'max_threads'. Например, если необходимое количество записей находится в каждом блоке и max_threads = 8, то будут извлечены 8 блоков, хотя достаточно было бы прочитать только один.

Чем меньше значение max_threads, тем меньше потребляемая память.

max_threads_for_indexes

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество потоков для обработки индексов.

max_untracked_memory

Тип: UInt64

Значение по умолчанию: 4194304

Небольшие выделения и освобождения памяти группируются в локальные переменные потока и отслеживаются или профилируются только тогда, когда количество (в абсолютном значении) становится больше указанного значения. Если значение больше 'memory_profiler_step', оно будет эффективно уменьшено до 'memory_profiler_step'.

memory_overcommit_ratio_denominator

Тип: UInt64

Значение по умолчанию: 1073741824

Представляет собой мягкое ограничение памяти, когда жёсткое ограничение достигнуто на глобальном уровне. Это значение используется для вычисления коэффициента перегрузки по памяти для запроса. Ноль означает пропустить запрос. Подробнее о перегрузке по памяти.

memory_overcommit_ratio_denominator_for_user

Тип: UInt64

Значение по умолчанию: 1073741824

Представляет собой мягкое ограничение памяти, когда жёсткое ограничение достигнуто на уровне пользователя. Это значение используется для вычисления коэффициента перегрузки по памяти для запроса. Ноль означает пропустить запрос. Подробнее о перегрузке по памяти.

memory_profiler_sample_max_allocation_size

Тип: UInt64

Значение по умолчанию: 0

Собирать случайные выделения памяти размером меньше или равного указанному значению с вероятностью, равной memory_profiler_sample_probability. 0 означает отключено. Вы можете установить 'max_untracked_memory' в 0, чтобы этот порог работал правильно.

memory_profiler_sample_min_allocation_size

Тип: UInt64

Значение по умолчанию: 0

Собирать случайные выделения памяти размером больше или равного указанному значению с вероятностью, равной memory_profiler_sample_probability. 0 означает отключено. Вы можете установить 'max_untracked_memory' в 0, чтобы этот порог работал правильно.

memory_profiler_sample_probability

Тип: Float

Значение по умолчанию: 0

Собирать случайные выделения и освобождения памяти и записывать их в system.trace_log с типом трассировки 'MemorySample'. Вероятность относится к каждому выделению/освобождению независимо от размера выделения (может быть изменена с помощью memory_profiler_sample_min_allocation_size и memory_profiler_sample_max_allocation_size). Учтите, что выборка происходит только тогда, когда количество неотслеженной памяти превышает 'max_untracked_memory'. Вы можете установить 'max_untracked_memory' в 0 для придания большей детальности выборке.

memory_profiler_step

Тип: UInt64

Значение по умолчанию: 4194304

Устанавливает шаг профайлера памяти. Каждый раз, когда использование памяти запросом становится больше каждого следующего шага в байтах, профайлер памяти собирает стек трассировки выделения и записывает его в trace_log.

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

  • Положительное целое число в байтах.

  • 0 для отключения профайлера памяти.

memory_tracker_fault_probability

Тип: Float

Значение по умолчанию: 0

Для тестирования безопасности исключений - выбрасывать исключение каждый раз при выделении памяти с указанной вероятностью.

memory_usage_overcommit_max_wait_microseconds

Тип: UInt64

Значение по умолчанию: 5000000

Максимальное время, которое поток будет ожидать освобождения памяти в случае перегрузки по памяти на уровне пользователя. Если время ожидания истекло, а память не освобождена, выбрасывается исключение. Подробнее о перегрузке по памяти.

merge_table_max_tables_to_look_for_schema_inference

Тип: UInt64

Значение по умолчанию: 1000

При создании таблицы Merge без явной схемы или при использовании табличной функции merge, выводит схему как объединение не более указанного числа подходящих таблиц. Если число таблиц больше, схемы будут выводиться из первых указанных таблиц.

merge_tree_coarse_index_granularity

Тип: UInt64

Значение по умолчанию: 8

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

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

  • Любое положительное чётное целое число.

merge_tree_compact_parts_min_granules_to_multibuffer_read

ClickHouse Cloud only

Тип: UInt64

Значение по умолчанию: 16

Действует только в ClickHouse Cloud. Количество гранул в полосе компактной части таблиц MergeTree для использования многобуферного ридера, который поддерживает параллельное чтение и предзагрузку. В случае чтения из удалённой файловой системы использование многобуферного ридера увеличивает количество запросов на чтение.

merge_tree_determine_task_size_by_prewhere_columns

Тип: Bool

Значение по умолчанию: 1

Следует ли использовать размер только столбцов предвыборки для определения размера задачи чтения.

merge_tree_max_bytes_to_use_cache

Тип: UInt64

Значение по умолчанию: 2013265920

Если ClickHouse должен прочитать больше, чем merge_tree_max_bytes_to_use_cache байтов в одном запросе, он не использует кэш несжатых блоков.

Кэш несжатых блоков хранит данные, извлечённые для запросов. ClickHouse использует этот кэш для ускорения ответов на повторные небольшие запросы. Эта настройка защищает кэш от порчи запросами, которые читают большое количество данных. Серверная настройка uncompressed_cache_size определяет размер кэша несжатых блоков.

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

  • Любое положительное целое число.

merge_tree_max_rows_to_use_cache

Тип: UInt64

Значение по умолчанию: 1048576

Если ClickHouse должен прочитать больше, чем merge_tree_max_rows_to_use_cache строк в одном запросе, он не использует кэш несжатых блоков.

Кэш несжатых блоков хранит данные, извлечённые для запросов. ClickHouse использует этот кэш для ускорения ответов на повторные небольшие запросы. Эта настройка защищает кэш от порчи запросами, которые читают большое количество данных. Серверная настройка uncompressed_cache_size определяет размер кэша несжатых блоков.

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

  • Любое положительное целое число.

merge_tree_min_bytes_for_concurrent_read

Тип: UInt64

Значение по умолчанию: 251658240

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

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

  • Положительное целое число.

merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem

Тип: UInt64

Значение по умолчанию: 0

Минимальное количество байтов для чтения из одного файла перед тем, как движок MergeTree может параллелизировать чтение при чтении из удалённой файловой системы. Мы не рекомендуем использовать эту настройку.

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

  • Положительное целое число.

merge_tree_min_bytes_for_seek

Тип: UInt64

Значение по умолчанию: 0

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

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

  • Любое положительное целое число.

merge_tree_min_bytes_per_task_for_remote_reading

Тип: UInt64

Значение по умолчанию: 2097152

Минимальное количество байтов для чтения на задачу.

merge_tree_min_read_task_size

Тип: UInt64

Значение по умолчанию: 8

Жёсткое нижнее ограничение на размер задачи (даже когда количество гранул мало и количество доступных потоков велико, мы не будем выделять меньшие задачи).

merge_tree_min_rows_for_concurrent_read

Тип: UInt64

Значение по умолчанию: 163840

Если количество строк для чтения из файла таблицы MergeTree превышает merge_tree_min_rows_for_concurrent_read, ClickHouse пытается выполнять параллельное чтение из этого файла в нескольких потоках.

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

  • Положительное целое число.

merge_tree_min_rows_for_concurrent_read_for_remote_filesystem

Тип: UInt64

Значение по умолчанию: 0

Минимальное количество строк для чтения из одного файла перед тем, как движок MergeTree может параллелизировать чтение, при чтении из удалённой файловой системы. Мы не рекомендуем использовать эту настройку.

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

  • Положительное целое число.

merge_tree_min_rows_for_seek

Тип: UInt64

Значение по умолчанию: 0

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

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

  • Любое положительное целое число.

merge_tree_read_split_ranges_into_intersecting_and_non_intersecting_injection_probability

Тип: Float

Значение по умолчанию: 0

Для тестирования PartsSplitter - разделять области чтения на пересекающиеся и непересекающиеся каждый раз при чтении из MergeTree с указанной вероятностью.

merge_tree_use_const_size_tasks_for_remote_reading

Тип: Bool

Значение по умолчанию: 1

Будет ли использоваться задачи с постоянным размером для чтения из удалённой таблицы.

merge_tree_use_deserialization_prefixes_cache

Тип: Bool

Значение по умолчанию: 1

Включает кэширование метаданных столбцов из префиксов файла при чтении из широких частей в MergeTree.

merge_tree_use_prefixes_deserialization_thread_pool

Тип: Bool

Значение по умолчанию: 1

Включает использование пула потоков для параллельного чтения префиксов в широких частях в MergeTree. Размер этого пула потоков контролируется серверной настройкой max_prefixes_deserialization_thread_pool_size.

merge_tree_use_v1_object_and_dynamic_serialization

Тип: Bool

Значение по умолчанию: 0

При включении используется версия сериализации V1 для типов JSON и Dynamic в MergeTree вместо V2. Изменение этой настройки вступает в силу только после перезапуска сервера.

metrics_perf_events_enabled

Тип: Bool

Значение по умолчанию: 0

Если включено, некоторые события производительности будут измеряться в течение выполнения запросов.

metrics_perf_events_list

Тип: String

Значение по умолчанию:

Список метрик производительности, разделённый запятыми, который будет измеряться в течение выполнения запросов. Пустое значение означает все события. См. PerfEventInfo в исходниках для доступных событий.

min_bytes_to_use_direct_io

Тип: UInt64

Значение по умолчанию: 0

Минимальный объём данных, необходимый для использования прямого доступа I/O к диску хранения.

ClickHouse использует эту настройку при чтении данных из таблиц. Если общий объём хранения всех данных, которые должны быть прочитаны, превышает min_bytes_to_use_direct_io байтов, тогда ClickHouse читает данные с диска хранения с использованием опции O_DIRECT.

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

  • 0 — Прямое I/O отключено.
  • Положительное целое число.

min_bytes_to_use_mmap_io

Тип: UInt64

Значение по умолчанию: 0

Это экспериментальная настройка. Устанавливает минимальное количество памяти для чтения больших файлов без копирования данных из ядра в пространство пользователя. Рекомендуемый порог составляет около 64 МБ, потому что mmap/munmap медленные. Это имеет смысл только для больших файлов и помогает, только если данные находятся в кэше страниц.

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

  • Положительное целое число.
  • 0 — Большие файлы читаются только с копированием данных из ядра в пространство пользователя.

min_chunk_bytes_for_parallel_parsing

Тип: NonZeroUInt64

Значение по умолчанию: 10485760

  • Тип: unsigned int
  • Значение по умолчанию: 1 МБ

Минимальный размер чанка в байтах, который каждый поток будет парсить параллельно.

min_compress_block_size

Тип: UInt64

Значение по умолчанию: 65536

Для таблиц MergeTree. Для уменьшения задержки при обработке запросов блок сжимается при записи следующей метки, если его размер составляет по меньшей мере min_compress_block_size. По умолчанию 65 536.

Фактический размер блока, если несжатые данные меньше, чем max_compress_block_size, составляет не менее этого значения и не менее объёма данных для одной метки.

Рассмотрим пример. Предположим, что index_granularity был установлен на 8192 при создании таблицы.

Мы записываем столбец типа UInt32 (4 байта на значение). При записи 8192 строк общий объём данных составит 32 КБ. Поскольку min_compress_block_size = 65 536, сжатый блок будет сформирован для каждой второй метки.

Мы записываем столбец URL с типом String (средний размер 60 байтов на значение). При записи 8192 строк средний объём будет немного меньше 500 КБ данных. Поскольку это больше, чем 65 536, сжатый блок будет сформирован для каждой метки. В этом случае при чтении данных с диска в диапазоне одной метки дополнительные данные не будут декомпрессироваться.

примечание

Это настройка уровня эксперта, и вы не должны изменять её, если только вы не имеете опыта работы с ClickHouse.

min_count_to_compile_aggregate_expression

Тип: UInt64

Значение по умолчанию: 3

Минимальное количество одинаковых агрегатных выражений, чтобы начать JIT-компиляцию. Работает только если настройка compile_aggregate_expressions включена.

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

  • Положительное целое число.
  • 0 — Одинаковые агрегатные выражения всегда JIT-компилируются.

min_count_to_compile_expression

Тип: UInt64

Значение по умолчанию: 3

Минимальное количество выполнения одного и того же выражения перед его компиляцией.

min_count_to_compile_sort_description

Тип: UInt64

Значение по умолчанию: 3

Количество одинаковых описаний сортировки до их JIT-компиляции

min_execution_speed

Тип: UInt64

Значение по умолчанию: 0

Минимальное количество строк выполнения в секунду.

min_execution_speed_bytes

Тип: UInt64

Значение по умолчанию: 0

Минимальное количество байтов выполнения в секунду.

min_external_sort_block_bytes

Тип: UInt64

Значение по умолчанию: 104857600

Минимальный размер блока в байтах для внешней сортировки, который будет сброшен на диск, чтобы избежать слишком большого количества файлов.

min_external_table_block_size_bytes

Тип: UInt64

Значение по умолчанию: 268402944

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

min_external_table_block_size_rows

Тип: UInt64

Значение по умолчанию: 1048449

Объединять блоки, переданные во внешнюю таблицу, до указанного размера в строках, если блоки не достаточно большие.

min_free_disk_bytes_to_perform_insert

Тип: UInt64

Значение по умолчанию: 0

Минимальный объём свободного дискового пространства в байтах для выполнения вставки.

min_free_disk_ratio_to_perform_insert

Тип: Float

Значение по умолчанию: 0

Минимальное соотношение свободного дискового пространства для выполнения вставки.

min_free_disk_space_for_temporary_data

Тип: UInt64

Значение по умолчанию: 0

Минимальное дисковое пространство, которое следует сохранить при записи временных данных, используемых во внешней сортировке и агрегации.

min_hit_rate_to_use_consecutive_keys_optimization

Тип: Float

Значение по умолчанию: 0.5

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

min_insert_block_size_bytes

Тип: UInt64

Значение по умолчанию: 268402944

Устанавливает минимальное количество байт в блоке, который может быть вставлен в таблицу с помощью запроса INSERT. Блоки меньшего размера объединяются в более крупные.

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

  • Положительное целое число.
  • 0 — Объединение отключено.

min_insert_block_size_bytes_for_materialized_views

Тип: UInt64

Значение по умолчанию: 0

Устанавливает минимальное количество байт в блоке, который может быть вставлен в таблицу с помощью запроса INSERT. Блоки меньшего размера объединяются в более крупные. Эта настройка применяется только для блоков, вставляемых в материализованное представление. Настраивая эту опцию, вы контролируете объединение блоков при загрузке в материализованное представление и избегаете чрезмерного использования памяти.

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

  • Любое положительное целое число.
  • 0 — Объединение отключено.

См. также

min_insert_block_size_rows

Тип: UInt64

Значение по умолчанию: 1048449

Устанавливает минимальное количество строк в блоке, который может быть вставлен в таблицу с помощью запроса INSERT. Блоки меньшего размера объединяются в более крупные.

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

  • Положительное целое число.
  • 0 — Объединение отключено.

min_insert_block_size_rows_for_materialized_views

Тип: UInt64

Значение по умолчанию: 0

Устанавливает минимальное количество строк в блоке, который может быть вставлен в таблицу с помощью запроса INSERT. Блоки меньшего размера объединяются в более крупные. Эта настройка применяется только для блоков, вставляемых в материализованное представление. Настраивая эту опцию, вы контролируете объединение блоков при загрузке в материализованное представление и избегаете чрезмерного использования памяти.

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

  • Любое положительное целое число.
  • 0 — Объединение отключено.

См. также

min_joined_block_size_bytes

Тип: UInt64

Значение по умолчанию: 524288

Минимальный размер блока для результата JOIN (если алгоритм объединения поддерживает это). 0 означает без ограничений.

mongodb_throw_on_unsupported_query

Тип: Bool

Значение по умолчанию: 1

Если включено, таблицы MongoDB выдают ошибку, когда не удаётся построить запрос MongoDB. В противном случае ClickHouse читает всю таблицу и обрабатывает её локально. Этот параметр не применяется, когда 'allow_experimental_analyzer=0'.

move_all_conditions_to_prewhere

Тип: Bool

Значение по умолчанию: 1

Переместить все подходящие условия из WHERE в PREWHERE.

move_primary_key_columns_to_end_of_prewhere

Тип: Bool

Значение по умолчанию: 1

Переместить условия PREWHERE, содержащие столбцы первичного ключа, в конец цепочки AND. Вероятно, что эти условия учитываются во время анализа первичного ключа и поэтому не сильно повлияют на фильтрацию PREWHERE.

multiple_joins_try_to_keep_original_names

Тип: Bool

Значение по умолчанию: 0

Не добавлять псевдонимы в список выражений верхнего уровня при переписывании нескольких соединений.

mutations_execute_nondeterministic_on_initiator

Тип: Bool

Значение по умолчанию: 0

Если true, постоянные недетерминированные функции (например, функция now()) выполняются на инициаторе и заменяются на литералы в запросах UPDATE и DELETE. Это помогает сохранить данные в синхронизации на репликах при выполнении мутаций с постоянными недетерминированными функциями. Значение по умолчанию: false.

mutations_execute_subqueries_on_initiator

Тип: Bool

Значение по умолчанию: 0

Если true, скалярные подзапросы выполняются на инициаторе и заменяются на литералы в запросах UPDATE и DELETE. Значение по умолчанию: false.

mutations_max_literal_size_to_replace

Тип: UInt64

Значение по умолчанию: 16384

Максимальный размер сериализованного литерала в байтах для замены в запросах UPDATE и DELETE. Вступает в силу только если хотя бы одна из двух настроек выше включена. Значение по умолчанию: 16384 (16 КиБ).

mutations_sync

Тип: UInt64

Значение по умолчанию: 0

Позволяет выполнять запросы ALTER TABLE ... UPDATE|DELETE|MATERIALIZE INDEX|MATERIALIZE PROJECTION|MATERIALIZE COLUMN|MATERIALIZE STATISTICS (мутации) синхронно.

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

  • 0 - Мутации выполняются асинхронно.
  • 1 - Запрос ждёт, пока все мутации завершатся на текущем сервере.
  • 2 - Запрос ждёт, пока все мутации завершатся на всех репликах (если они существуют).

mysql_datatypes_support_level

Тип: MySQLDataTypesSupport

Значение по умолчанию:

Определяет, как типы MySQL преобразуются в соответствующие типы ClickHouse. Список, разделённый запятыми, в любой комбинации decimal, datetime64, date2Date32 или date2String.

  • decimal: преобразует типы NUMERIC и DECIMAL в Decimal, если позволяет точность.
  • datetime64: преобразует типы DATETIME и TIMESTAMP в DateTime64, а не в DateTime, если точность не 0.
  • date2Date32: преобразует DATE в Date32 вместо Date. Имеет приоритет над date2String.
  • date2String: преобразует DATE в String вместо Date. Переопределяется datetime64.

mysql_map_fixed_string_to_text_in_show_columns

Тип: Bool

Значение по умолчанию: 1

Когда включено, тип данных ClickHouse FixedString будет отображаться как TEXT в SHOW COLUMNS.

Имеет эффект только при подключении через протокол MySQL.

  • 0 - Используется BLOB.
  • 1 - Используется TEXT.

mysql_map_string_to_text_in_show_columns

Тип: Bool

Значение по умолчанию: 1

Когда включено, тип данных ClickHouse String будет отображаться как TEXT в SHOW COLUMNS.

Имеет эффект только при подключении через протокол MySQL.

  • 0 - Используется BLOB.
  • 1 - Используется TEXT.

mysql_max_rows_to_insert

Тип: UInt64

Значение по умолчанию: 65536

Максимальное количество строк при пакетной вставке MySQL для движка хранения MySQL.

network_compression_method

Тип: String

Значение по умолчанию: LZ4

Устанавливает метод сжатия данных, используемых при общении между серверами и между сервером и clickhouse-client.

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

  • LZ4 — устанавливает метод сжатия LZ4.
  • ZSTD — устанавливает метод сжатия ZSTD.

См. также

network_zstd_compression_level

Тип: Int64

Значение по умолчанию: 1

Регулирует уровень сжатия ZSTD. Используется только когда network_compression_method установлен на ZSTD.

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

  • Положительное целое число от 1 до 15.

normalize_function_names

Тип: Bool

Значение по умолчанию: 1

Нормализовать имена функций до их канонических имен.

number_of_mutations_to_delay

Тип: UInt64

Значение по умолчанию: 0

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

number_of_mutations_to_throw

Тип: UInt64

Значение по умолчанию: 0

Если мутируемая таблица содержит как минимум столько незавершённых мутаций, выбрасывается исключение 'Too many mutations ...'. 0 - отключено.

odbc_bridge_connection_pool_size

Тип: UInt64

Значение по умолчанию: 16

Размер пула подключений для каждой строки настроек подключения в ODBC bridge.

odbc_bridge_use_connection_pooling

Тип: Bool

Значение по умолчанию: 1

Использовать пул подключений в ODBC bridge. Если установить на false, каждое подключение создается заново.

offset

Тип: UInt64

Значение по умолчанию: 0

Устанавливает количество строк, пропускаемых перед началом возврата строк из запроса. Он корректирует смещение, установленное с помощью OFFSET, так что эти два значения суммируются.

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

  • 0 — Строки не пропускаются.
  • Положительное целое число.

Пример

Входная таблица:

Запрос:

Результат:

opentelemetry_start_trace_probability

Тип: Float

Значение по умолчанию: 0

Устанавливает вероятность, с которой ClickHouse может начать трассировку для выполняемых запросов (если не предоставлен родительский контекст трассировки).

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

  • 0 — Трассировка для всех выполняемых запросов отключена (если не предоставлен родительский контекст трассировки).
  • Положительное число с плавающей точкой в диапазоне [0..1]. Например, если значение настройки равно 0,5, ClickHouse может начать трассировку в среднем для половины запросов.
  • 1 — Трассировка для всех выполняемых запросов включена.

opentelemetry_trace_processors

Тип: Bool

Значение по умолчанию: 0

Собирать OpenTelemetry диапазоны для процессоров.

optimize_aggregation_in_order

Тип: Bool

Значение по умолчанию: 0

Включает оптимизацию GROUP BY в запросах SELECT для агрегации данных в соответствующем порядке в таблицах MergeTree.

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

  • 0 — Оптимизация GROUP BY отключена.
  • 1 — Оптимизация GROUP BY включена.

См. также

optimize_aggregators_of_group_by_keys

Тип: Bool

Значение по умолчанию: 1

Устраняет агрегаторы min/max/any/anyLast ключей GROUP BY в секции SELECT.

optimize_and_compare_chain

Тип: Bool

Значение по умолчанию: 1

Заполнять постоянные сравнения в цепочках AND для улучшения возможности фильтрации. Поддерживаемые операторы <, <=, >, >=, = и их микс. Например, (a < b) AND (b < c) AND (c < 5) можно переписать следующим образом: (a < b) AND (b < c) AND (c < 5) AND (b < 5) AND (a < 5).

optimize_append_index

Тип: Bool

Значение по умолчанию: 0

Использовать ограничения для добавления условия индекса. По умолчанию false.

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

  • true, false

optimize_arithmetic_operations_in_aggregate_functions

Тип: Bool

Значение по умолчанию: 1

Переносить арифметические операции за пределы агрегатных функций.

optimize_count_from_files

Тип: Bool

Значение по умолчанию: 1

Включает или отключает оптимизацию подсчёта количества строк из файлов в разных входных форматах. Применяется к табличным функциям/движкам file/s3/url/hdfs/azureBlobStorage.

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

  • 0 — Оптимизация отключена.
  • 1 — Оптимизация включена.

optimize_distinct_in_order

Тип: Bool

Значение по умолчанию: 1

Включает оптимизацию DISTINCT, если некоторые столбцы в DISTINCT формируют префикс сортировки. Например, префикс ключа сортировки в merge tree или оператор ORDER BY.

optimize_distributed_group_by_sharding_key

Тип: Bool

Значение по умолчанию: 1

Оптимизировать запросы GROUP BY sharding_key, избегая затратной агрегации на сервере инициаторе (что снизит использование памяти для запроса на сервере инициаторе).

Поддерживаются следующие типы запросов (и все их комбинации):

  • SELECT DISTINCT [..., ]sharding_key[, ...] FROM dist
  • SELECT ... FROM dist GROUP BY sharding_key[, ...]
  • SELECT ... FROM dist GROUP BY sharding_key[, ...] ORDER BY x
  • SELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1
  • SELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1 BY x

Не поддерживаются следующие типы запросов (поддержка некоторых из них может быть добавлена позже):

  • SELECT ... GROUP BY sharding_key[, ...] WITH TOTALS
  • SELECT ... GROUP BY sharding_key[, ...] WITH ROLLUP
  • SELECT ... GROUP BY sharding_key[, ...] WITH CUBE
  • SELECT ... GROUP BY sharding_key[, ...] SETTINGS extremes=1

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

  • 0 — Отключено.
  • 1 — Включено.

См. также:

примечание

На данный момент это требует optimize_skip_unused_shards (причина в том, что однажды это может быть включено по умолчанию, и это будет работать корректно только если данные были вставлены через Distributed таблицу, то есть данные распределены в соответствии с sharding_key).

optimize_extract_common_expressions

Тип: Bool

Значение по умолчанию: 1

Позволяет извлекать общие выражения из дизъюнкций в выражениях WHERE, PREWHERE, ON, HAVING и QUALIFY. Логическое выражение типа (A AND B) OR (A AND C) может быть переписано в A AND (B OR C), что может помочь использовать:

  • индексы в простых фильтрационных выражениях
  • перекрёстную для внутренней оптимизации соединения

optimize_functions_to_subcolumns

Тип: Bool

Значение по умолчанию: 1

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

Эти функции могут быть преобразованы:

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

  • 0 — Оптимизация отключена.
  • 1 — Оптимизация включена.

optimize_group_by_constant_keys

Тип: Bool

Значение по умолчанию: 1

Оптимизировать GROUP BY, когда все ключи в блоке являются константами.

optimize_group_by_function_keys

Тип: Bool

Значение по умолчанию: 1

Устраняет функции других ключей в секции GROUP BY.

optimize_if_chain_to_multiif

Тип: Bool

Значение по умолчанию: 0

Заменять цепочки if(cond1, then1, if(cond2, ...)) на multiIf. В настоящее время это невыгодно для численных типов.

optimize_if_transform_strings_to_enum

Тип: Bool

Значение по умолчанию: 0

Заменяет аргументы строкового типа в If и Transform на enum. По умолчанию отключено, так как это может вызвать несогласованное изменение в распределённом запросе, что приведет к его сбою.

optimize_injective_functions_in_group_by

Тип: Bool

Значение по умолчанию: 1

Заменяет инъективные функции их аргументами в секции GROUP BY.

optimize_injective_functions_inside_uniq

Тип: Bool

Значение по умолчанию: 1

Удаляет инъективные функции одного аргумента внутри функций uniq*().

optimize_min_equality_disjunction_chain_length

Тип: UInt64

Значение по умолчанию: 3

Минимальная длина выражения expr = x1 OR ... expr = xN для оптимизации.

optimize_min_inequality_conjunction_chain_length

Тип: UInt64

Значение по умолчанию: 3

Минимальная длина выражения expr <> x1 AND ... expr <> xN для оптимизации.

optimize_move_to_prewhere

Тип: Bool

Значение по умолчанию: 1

Включает или отключает автоматическую оптимизацию PREWHERE в запросах SELECT.

Работает только для таблиц *MergeTree.

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

  • 0 — Автоматическая оптимизация PREWHERE отключена.
  • 1 — Автоматическая оптимизация PREWHERE включена.

optimize_move_to_prewhere_if_final

Тип: Bool

Значение по умолчанию: 0

Включает или отключает автоматическую оптимизацию PREWHERE в запросах SELECT с модификатором FINAL.

Работает только для таблиц *MergeTree.

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

  • 0 — Автоматическая оптимизация PREWHERE в запросах SELECT с модификатором FINAL отключена.
  • 1 — Автоматическая оптимизация PREWHERE в запросах SELECT с модификатором FINAL включена.

См. также

optimize_multiif_to_if

Тип: Bool

Значение по умолчанию: 1

Заменить 'multiIf' с единственным условием на 'if'.

optimize_normalize_count_variants

Тип: Bool

Значение по умолчанию: 1

Переписывает агрегатные функции, которые семантически равны count(), как count().

optimize_on_insert

Тип: Bool

Значение по умолчанию: 1

Включает или отключает преобразование данных перед вставкой, как если бы слияние было выполнено на этом блоке (в соответствии с движком таблицы).

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

  • 0 — Отключено.
  • 1 — Включено.

Пример

Разница между включенной и отключенной настройкой:

Запрос:

Результат:

Обратите внимание, что эта настройка влияет на поведение Материализованного представления.

optimize_or_like_chain

Тип: Bool

Значение по умолчанию: 0

Оптимизировать несколько OR LIKE в multiMatchAny. Эта оптимизация не должна быть включена по умолчанию, так как это нарушает анализ индексов в некоторых случаях.

optimize_read_in_order

Тип: Bool

Значение по умолчанию: 1

Включает оптимизацию ORDER BY в запросах SELECT для чтения данных из таблиц MergeTree.

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

  • 0 — Оптимизация ORDER BY отключена.
  • 1 — Оптимизация ORDER BY включена.

См. также

optimize_read_in_window_order

Тип: Bool

Значение по умолчанию: 1

Включить оптимизацию ORDER BY в оконной клаузуле для чтения данных в соответствующем порядке в таблицах MergeTree.

optimize_redundant_functions_in_order_by

Тип: Bool

Значение по умолчанию: 1

Удалять функции из ORDER BY, если их аргумент также в ORDER BY.

optimize_respect_aliases

Тип: Bool

Значение по умолчанию: 1

Если установлено в true, будет учитываться использование псевдонимов в WHERE/GROUP BY/ORDER BY, что поможет с отбором разделов/вторичных индексов/optimize_aggregation_in_order/optimize_read_in_order/optimize_trivial_count.

optimize_rewrite_aggregate_function_with_if

Тип: Bool

Значение по умолчанию: 1

Переписывает агрегатные функции с выражением if в качестве аргумента, когда они логически эквивалентны. Например, avg(if(cond, col, null)) может быть переписан на avgOrNullIf(cond, col). Это может улучшить производительность.

примечание

Поддерживается только с аналитиком (enable_analyzer = 1).

optimize_rewrite_array_exists_to_has

Тип: Bool

Значение по умолчанию: 0

Переписывает функции arrayExists() на has(), когда они логически эквивалентны. Например, arrayExists(x -> x = 1, arr) может быть переписан на has(arr, 1).

optimize_rewrite_sum_if_to_count_if

Тип: Bool

Значение по умолчанию: 1

Переписывает функцию sumIf() и функцию sum(if()) на countIf() функцию, когда они логически эквивалентны.

optimize_skip_merged_partitions

Тип: Bool

Значение по умолчанию: 0

Включает или отключает оптимизацию для запроса OPTIMIZE TABLE ... FINAL, если есть только одна часть с уровнем > 0 и у неё нет истёкшего времени жизни (TTL).

  • OPTIMIZE TABLE ... FINAL SETTINGS optimize_skip_merged_partitions=1

По умолчанию, запрос OPTIMIZE TABLE ... FINAL переписывает одну часть, даже если эта часть единственная.

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

  • 1 - Включить оптимизацию.
  • 0 - Отключить оптимизацию.

optimize_skip_unused_shards

Тип: Bool

Значение по умолчанию: 0

Включает или отключает пропуск неиспользуемых шардов для запросов SELECT, которые имеют условие шардирования в WHERE/PREWHERE (предполагая, что данные распределяются по ключу шардирования, иначе запрос приведёт к неверному результату).

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

  • 0 — Отключено.
  • 1 — Включено.

optimize_skip_unused_shards_limit

Тип: UInt64

Значение по умолчанию: 1000

Лимит на количество значений ключа шардирования, отключает optimize_skip_unused_shards, если достигнут лимит.

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

optimize_skip_unused_shards_nesting

Тип: UInt64

Значение по умолчанию: 0

Контролирует optimize_skip_unused_shards (поэтому по-прежнему требует optimize_skip_unused_shards), в зависимости от уровня вложенности распределённого запроса (в случае, когда у вас есть таблица Distributed, которая смотрит в другую таблицу Distributed).

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

  • 0 — Отключено, optimize_skip_unused_shards всегда работает.
  • 1 — Включает optimize_skip_unused_shards только для первого уровня.
  • 2 — Включает optimize_skip_unused_shards до второго уровня.

optimize_skip_unused_shards_rewrite_in

Тип: Bool

Значение по умолчанию: 1

Перезаписывает IN в запросе для удалённых шардов, чтобы исключить значения, которые не принадлежат к шарду (требуется optimize_skip_unused_shards).

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

  • 0 — Отключено.
  • 1 — Включено.

optimize_sorting_by_input_stream_properties

Тип: Bool

Значение по умолчанию: 1

Оптимизирует сортировку на основе свойств входного потока.

optimize_substitute_columns

Тип: Bool

Значение по умолчанию: 0

Использовать ограничения для замены столбцов. По умолчанию false.

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

  • true, false.

optimize_syntax_fuse_functions

Тип: Bool

Значение по умолчанию: 0

Позволяет объединять агрегатные функции с идентичным аргументом. Переписывает запрос, содержащий хотя бы две агрегатные функции из sum, count или avg с идентичным аргументом, на sumCount.

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

  • 0 — Функции с идентичным аргументом не объединяются.
  • 1 — Функции с идентичным аргументом объединяются.

Пример

Запрос:

Результат:

optimize_throw_if_noop

Тип: Bool

Значение по умолчанию: 0

Включает или отключает выброс исключения, если запрос OPTIMIZE не выполнил слияние.

По умолчанию OPTIMIZE успешно возвращается, даже если он ничего не сделал. Эта настройка позволяет различать эти ситуации и получить причину в сообщении об исключении.

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

  • 1 — Выброс исключения включен.
  • 0 — Выброс исключения отключён.

optimize_time_filter_with_preimage

Тип: Bool

Значение по умолчанию: 1

Оптимизировать предикаты Date и DateTime, преобразуя функции в эквивалентные сравнения без преобразований (например, toYear(col) = 2023 -> col >= '2023-01-01' AND col <= '2023-12-31').

optimize_trivial_approximate_count_query

Тип: Bool

Значение по умолчанию: 0

Использовать приближённое значение для оптимизации тривиальных запросов count для хранилищ, поддерживающих такую оценку, например, EmbeddedRocksDB.

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

  • 0 — Оптимизация отключена.
  • 1 — Оптимизация включена.

optimize_trivial_count_query

Тип: Bool

Значение по умолчанию: 1

Включает или отключает оптимизацию тривиального запроса SELECT count() FROM table, используя метаданные из MergeTree. Если вам необходимо использовать безопасность на уровне строк, отключите эту настройку.

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

  • 0 — Оптимизация отключена.
  • 1 — Оптимизация включена.

См. также:

optimize_trivial_insert_select

Тип: Bool

Значение по умолчанию: 0

Оптимизировать тривиальный запрос 'INSERT INTO table SELECT ... FROM TABLES'

optimize_uniq_to_count

Тип: Bool

Значение по умолчанию: 1

Переписывает uniq и его варианты (кроме uniqUpTo) как count, если подзапрос имеет distinct или group by клаузу.

optimize_use_implicit_projections

Тип: Bool

Значение по умолчанию: 1

Автоматически выбирать неявные проекции для выполнения запроса SELECT.

optimize_use_projections

Тип: Bool

Значение по умолчанию: 1

Включает или отключает оптимизацию проекций при обработке запросов SELECT.

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

  • 0 — Оптимизация проекций отключена.
  • 1 — Оптимизация проекций включена.

optimize_using_constraints

Тип: Bool

Значение по умолчанию: 0

Использовать ограничения для оптимизации запросов. По умолчанию false.

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

  • true, false.

os_thread_priority

Тип: Int64

Значение по умолчанию: 0

Устанавливает приоритет (nice) для потоков, которые выполняют запросы. Планировщик ОС учитывает этот приоритет при выборе следующего потока для выполнения на каждом доступном ядре CPU.

примечание

Чтобы использовать эту настройку, вам нужно установить возможность CAP_SYS_NICE. Пакет clickhouse-server настраивает это во время установки. Некоторые виртуальные среды не позволяют установить возможность CAP_SYS_NICE. В этом случае clickhouse-server показывает сообщение об этом при запуске.

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

  • Вы можете установить значения в диапазоне [-20, 19].

Низкие значения означают более высокий приоритет. Потоки с низкими значениями приоритета nice выполняются чаще, чем потоки с высокими значениями. Высокие значения предпочтительны для длительных неинтерактивных запросов, так как это позволяет им быстро освобождать ресурсы для коротких интерактивных запросов, когда они поступают.

output_format_compression_level

Тип: UInt64

Значение по умолчанию: 3

Уровень сжатия по умолчанию, если вывод запроса сжат. Настройка применяется, когда запрос SELECT имеет INTO OUTFILE или при записи в табличные функции file, url, hdfs, s3, или azureBlobStorage.

Возможные значения: от 1 до 22.

output_format_compression_zstd_window_log

Тип: UInt64

Значение по умолчанию: 0

Может быть использовано, когда метод сжатия на выходе - zstd. Если больше 0, этот параметр явно устанавливает размер окна сжатия (степень 2) и включает режим длинного диапазона для сжатия zstd. Это может помочь достичь лучшего коэффициента сжатия.

Возможные значения: неотрицательные числа. Обратите внимание, что если значение слишком маленькое или слишком большое, zstdlib вызовет исключение. Типичные значения находятся в диапазоне от 20 (размер окна = 1MB) до 30 (размер окна = 1GB).

output_format_parallel_formatting

Тип: Bool

Значение по умолчанию: 1

Включает или отключает параллельное форматирование форматов данных. Поддерживается только для форматов TSV, TSKV, CSV и JSONEachRow.

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

  • 1 — Включено.
  • 0 — Отключено.

page_cache_inject_eviction

Тип: Bool

Значение по умолчанию: 0

Кэш страниц в пространстве пользователя иногда будет случайным образом аннулировать некоторые страницы. Предназначен для тестирования.

parallel_distributed_insert_select

Тип: UInt64

Значение по умолчанию: 0

Включает параллельный распределённый запрос INSERT ... SELECT.

Если мы выполняем INSERT INTO distributed_table_a SELECT ... FROM distributed_table_b запросы, и обе таблицы используют один и тот же кластер, и обе таблицы являются либо реплицированными, либо нереплицированными, то этот запрос обрабатывается локально на каждом шарде.

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

  • 0 — Отключено.
  • 1 — SELECT будет выполнен на каждом шарде из базовой таблицы движка распределения.
  • 2 — SELECT и INSERT будут выполнены на каждом шарде из/в базовую таблицу движка распределения.

parallel_replica_offset

Beta feature. Learn more.

Тип: UInt64

Значение по умолчанию: 0

Это внутренний параметр, который не должен использоваться напрямую и представляет собой деталь реализации режима 'параллельные реплики'. Этот параметр будет автоматически настроен сервером-инициатором для распределённых запросов на индекс реплики, участвующей в обработке запроса среди параллельных реплик.

parallel_replicas_allow_in_with_subquery

Beta feature. Learn more.

Тип: Bool

Значение по умолчанию: 1

Если true, подзапрос для IN будет выполняться на каждой реплике-слейве.

parallel_replicas_count

Beta feature. Learn more.

Тип: UInt64

Значение по умолчанию: 0

Это внутренний параметр, который не должен использоваться напрямую и представляет собой деталь реализации режима 'параллельные реплики'. Этот параметр будет автоматически настроен сервером-инициатором для распределённых запросов на количество параллельных реплик, участвующих в обработке запроса.

parallel_replicas_custom_key

Beta feature. Learn more.

Тип: String

Значение по умолчанию:

Любое целочисленное выражение, которое может быть использовано для разделения работы между репликами для конкретной таблицы. Значение может быть любым целочисленным выражением.

Предпочтительны простые выражения с использованием первичных ключей.

Если параметр используется в кластере, состоящем из одного шарда с несколькими репликами, эти реплики будут преобразованы в виртуальные шарды. В противном случае будет работать так же, как для ключа SAMPLE, будут использоваться несколько реплик каждого шарда.

parallel_replicas_custom_key_range_lower

Beta feature. Learn more.

Тип: UInt64

Значение по умолчанию: 0

Позволяет фильтру типа range равномерно распределять работу между репликами на основе пользовательского диапазона [parallel_replicas_custom_key_range_lower, INT_MAX].

При использовании совместно с parallel_replicas_custom_key_range_upper позволяет фильтру равномерно распределять работу между репликами для диапазона [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper].

Примечание: этот параметр не вызовет дополнительную фильтрацию данных во время обработки запроса, а лишь изменяет точки, в которых фильтр диапазона разбивает диапазон [0, INT_MAX] для параллельной обработки.

parallel_replicas_custom_key_range_upper

Beta feature. Learn more.

Тип: UInt64

Значение по умолчанию: 0

Позволяет фильтру типа range равномерно распределять работу между репликами на основе пользовательского диапазона [0, parallel_replicas_custom_key_range_upper]. Значение 0 отключает верхнюю границу, устанавливая его как максимум для выражения пользовательского ключа.

При использовании совместно с parallel_replicas_custom_key_range_lower позволяет фильтру равномерно распределять работу между репликами для диапазона [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper].

Примечание: этот параметр не вызовет дополнительную фильтрацию данных во время обработки запроса, а лишь изменяет точки, в которых фильтр диапазона разбивает диапазон [0, INT_MAX] для параллельной обработки.

parallel_replicas_for_cluster_engines

Тип: Bool

Значение по умолчанию: 1

Замена движков табличных функций их аналогами -Cluster

parallel_replicas_for_non_replicated_merge_tree

Beta feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

Если true, ClickHouse будет использовать алгоритм параллельных реплик также для нереплицированных таблиц MergeTree

parallel_replicas_index_analysis_only_on_coordinator

Beta feature. Learn more.

Тип: Bool

Значение по умолчанию: 1

Анализ индексов выполняется только на реплике-координаторе и пропускается на других репликах. Эффективно только при включенной параметре parallel_replicas_local_plan

parallel_replicas_local_plan

Beta feature. Learn more.

Тип: Bool

Значение по умолчанию: 1

Построение локального плана для локальной реплики

parallel_replicas_mark_segment_size

Beta feature. Learn more.

Тип: UInt64

Значение по умолчанию: 0

Части виртуально делятся на сегменты для распределения между репликами для параллельного чтения. Этот параметр управляет размером этих сегментов. Не рекомендуется изменять, если вы не уверены в том, что делаете. Значение должно быть в диапазоне [128; 16384]

parallel_replicas_min_number_of_rows_per_replica

Beta feature. Learn more.

Тип: UInt64

Значение по умолчанию: 0

Ограничивает количество реплик, использующихся в запросе до (оценочное количество строк для чтения / min_number_of_rows_per_replica). Максимальное значение все равно ограничено 'max_parallel_replicas'

parallel_replicas_mode

Beta feature. Learn more.

Тип: ParallelReplicasMode

Значение по умолчанию: read_tasks

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

parallel_replicas_only_with_analyzer

Beta feature. Learn more.

Тип: Bool

Значение по умолчанию: 1

Анализатор должен быть включен, чтобы использовать параллельные реплики. При отключенном анализаторе выполнение запроса возвращается к локальному выполнению, даже если параллельное чтение с реплик включено. Использование параллельных реплик без включенного анализатора не поддерживается

parallel_replicas_prefer_local_join

Beta feature. Learn more.

Тип: Bool

Значение по умолчанию: 1

Если true, и JOIN может быть выполнен с алгоритмом параллельных реплик, и все источники данных правой части JOIN являются *MergeTree, будет использован локальный JOIN вместо GLOBAL JOIN.

parallel_view_processing

Тип: Bool

Значение по умолчанию: 0

Включает параллельную отправку в подключённые представления вместо последовательной.

parallelize_output_from_storages

Тип: Bool

Значение по умолчанию: 1

Параллелизация вывода для этапа чтения из хранилища. Она позволяет параллельную обработку запроса сразу после чтения из хранилища, если это возможно

parsedatetime_parse_without_leading_zeros

Тип: Bool

Значение по умолчанию: 1

Форматтеры '%c', '%l' и '%k' в функции 'parseDateTime' парсят месяцы и часы без ведущих нулей.

partial_merge_join_left_table_buffer_bytes

Тип: UInt64

Значение по умолчанию: 0

Если не 0, объединяет блоки левой таблицы в более крупные для левой таблицы в частичном объединении слиянием. Использует до 2x указанной памяти на поток соединения.

partial_merge_join_rows_in_right_blocks

Тип: UInt64

Значение по умолчанию: 65536

Ограничивает размеры блоков данных правой стороны в алгоритме частичного объединения слиянием для JOIN запросов.

Сервер ClickHouse:

  1. Разбивает данные правой стороны соединения на блоки с количеством строк до указанного.
  2. Индексирует каждый блок с его минимальными и максимальными значениями.
  3. Выгружает подготовленные блоки на диск, если это возможно.

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

  • Любое положительное целое число. Рекомендуемый диапазон значений: [1000, 100000].

partial_result_on_first_cancel

Тип: Bool

Значение по умолчанию: 0

Позволяет запросу возвратить частичный результат после отмены.

parts_to_delay_insert

Тип: UInt64

Значение по умолчанию: 0

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

parts_to_throw_insert

Тип: UInt64

Значение по умолчанию: 0

Если больше этого числа активных частей в одном разделе целевой таблицы, выкидывать исключение 'Слишком много частей ...'.

periodic_live_view_refresh

Тип: Seconds

Значение по умолчанию: 60

Интервал, после которого периодически обновляемое live-представление принудительно обновляется.

poll_interval

Тип: UInt64

Значение по умолчанию: 10

Блокирование на сервере при ожидании выполнения запроса на заданное количество секунд.

postgresql_connection_attempt_timeout

Тип: UInt64

Значение по умолчанию: 2

Время ожидания соединения в секундах для одной попытки подключения к конечной точке PostgreSQL. Значение передаётся в качестве параметра connect_timeout в URL подключения.

postgresql_connection_pool_auto_close_connection

Тип: Bool

Значение по умолчанию: 0

Закрыть соединение перед возвращением соединения в пул.

postgresql_connection_pool_retries

Тип: UInt64

Значение по умолчанию: 2

Число попыток push/pop в пуле подключений для движка таблиц PostgreSQL и движка базы данных.

postgresql_connection_pool_size

Тип: UInt64

Значение по умолчанию: 16

Размер пула подключений для движка таблиц PostgreSQL и движка базы данных.

postgresql_connection_pool_wait_timeout

Тип: UInt64

Значение по умолчанию: 5000

Таймаут на ожидание push/pop в пустом пуле для движка таблиц PostgreSQL и движка базы данных. По умолчанию будет блокировать на пустом пуле.

postgresql_fault_injection_probability

Тип: Float

Значение по умолчанию: 0

Приблизительная вероятность сбоя внутренних (для репликации) PostgreSQL запросов. Допустимое значение в интервале [0.0f, 1.0f]

prefer_column_name_to_alias

Тип: Bool

Значение по умолчанию: 0

Включает или отключает использование оригинальных имён столбцов вместо псевдонимов в выражениях и разделах запроса. Особенно важно, когда псевдоним совпадает с именем столбца, см. Псевдонимы выражений. Включите этот параметр, чтобы сделать синтаксис псевдонимов в ClickHouse более совместимым с большинством других движков баз данных.

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

  • 0 — Имя столбца заменяется псевдонимом.
  • 1 — Имя столбца не заменяется псевдонимом.

Пример

Разница между включённым и отключённым:

Запрос:

Результат:

Запрос:

Результат:

prefer_external_sort_block_bytes

Тип: UInt64

Значение по умолчанию: 16744704

Предпочитанное максимальное количество байт блока для внешней сортировки, уменьшает использование памяти во время слияния.

prefer_global_in_and_join

Тип: Bool

Значение по умолчанию: 0

Включает замену операторов IN/JOIN на GLOBAL IN/GLOBAL JOIN.

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

  • 0 — Отключено. Операторы IN/JOIN не заменяются на GLOBAL IN/GLOBAL JOIN.
  • 1 — Включено. Операторы IN/JOIN заменяются на GLOBAL IN/GLOBAL JOIN.

Использование

Хотя SET distributed_product_mode=global может изменить поведение запросов для распределённых таблиц, это не подходит для локальных таблиц или таблиц из внешних ресурсов. Здесь и вступает в действие параметр prefer_global_in_and_join.

Например, у нас есть узлы обслуживания запросов, которые содержат локальные таблицы, не подходящие для распределения. Нам нужно разбрасывать их данные "на лету" во время распределённой обработки с помощью ключевого слова GLOBALGLOBAL IN/GLOBAL JOIN.

Ещё одним случаем использования prefer_global_in_and_join является доступ к таблицам, созданным внешними движками. Этот параметр помогает уменьшить количество вызовов к внешним источникам при соединении таких таблиц: только один вызов на запрос.

См. также:

prefer_localhost_replica

Тип: Bool

Значение по умолчанию: 1

Включает/отключает предпочтительное использование реплики localhost при обработке распределённых запросов.

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

  • 1 — ClickHouse всегда отправляет запрос на реплику localhost, если она существует.
  • 0 — ClickHouse использует стратегию балансировки, указанную в параметре load_balancing.
примечание

Отключите этот параметр, если вы используете max_parallel_replicas без parallel_replicas_custom_key. Если указан parallel_replicas_custom_key, отключите этот параметр только в случае его использования в кластере с несколькими шардов и несколькими репликами. Если он используется в кластере с одним шардом и несколькими репликами, отключение этого параметра будет иметь негативные последствия.

prefer_warmed_unmerged_parts_seconds

ClickHouse Cloud only

Тип: Int64

Значение по умолчанию: 0

Имеет эффект только в ClickHouse Cloud. Если объединённая часть стала младше, чем указано в этом параметре, и не была предварительно прогрета (см. cache_populated_by_fetch), но все её исходные части доступны и предварительно прогреты, SELECT запросы будут читать из этих частей. Только для Replicated-/SharedMergeTree. Обратите внимание, что это проверяет только, было ли обработано CacheWarmer часть; если часть была загружена в кэш чем-то другим, она будет считаться холодной, пока CacheWarmer до неё не доберётся; если она была прогрета, а затем выброшена из кэша, она всё равно будет считаться тёплой.

preferred_block_size_bytes

Тип: UInt64

Значение по умолчанию: 1000000

Этот параметр регулирует размер блока данных для обработки запросов и представляет собой дополнительную тонкую настройку более грубого параметра 'max_block_size'. Если столбцы большие, и при 'max_block_size' строк размер блока, вероятно, будет больше, чем указанное количество байт, его размер будет уменьшен для улучшения локальности кэша CPU.

preferred_max_column_in_block_size_bytes

Тип: UInt64

Значение по умолчанию: 0

Ограничение на максимальный размер столбца в блоке при чтении. Помогает уменьшить количество промахов кэша. Должно быть близко к размерам кэша L2.

preferred_optimize_projection_name

Тип: String

Значение по умолчанию:

Если установлено ненулевое значение, ClickHouse попробует применить указанную проекцию в запросе.

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

  • string: имя предпочтительной проекции

prefetch_buffer_size

Тип: UInt64

Значение по умолчанию: 1048576

Максимальный размер предварительно загружаемого буфера для чтения из файловой системы.

Тип: Bool

Значение по умолчанию: 1

Позволяет выводить имена типов с глубоким вложением в красивом формате с отступами в запросе DESCRIBE и в функции toTypeName().

Пример:

priority

Тип: UInt64

Значение по умолчанию: 0

Приоритет запроса. 1 - наивысший, большее значение - низкий приоритет; 0 - не использовать приоритеты.

push_external_roles_in_interserver_queries

Тип: Bool

Значение по умолчанию: 1

Включает передачу пользовательских ролей от сервера-инициатора к другим узлам при выполнении запроса.

query_cache_compress_entries

Тип: Bool

Значение по умолчанию: 1

Сжимать записи в кэше запросов. Снижает потребление памяти кэша запросов за счёт более медленных вставок в него / чтений из него.

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

  • 0 - Отключено
  • 1 - Включено

query_cache_max_entries

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество результатов запросов, которое текущий пользователь может хранить в кэше запросов. 0 означает неограниченное.

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

  • Положительное целое число >= 0.

query_cache_max_size_in_bytes

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество памяти (в байтах), которое текущий пользователь может выделить в кэше запросов. 0 означает неограниченное.

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

  • Положительное целое число >= 0.

query_cache_min_query_duration

Тип: Milliseconds

Значение по умолчанию: 0

Минимальная длительность в миллисекундах, в течение которой запрос должен выполняться, чтобы его результат был сохранён в кэше запросов.

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

  • Положительное целое число >= 0.

query_cache_min_query_runs

Тип: UInt64

Значение по умолчанию: 0

Минимальное количество раз, которое запрос SELECT должен быть выполнен, прежде чем его результат будет сохранён в кэше запросов.

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

  • Положительное целое число >= 0.

query_cache_nondeterministic_function_handling

Тип: QueryResultCacheNondeterministicFunctionHandling

Значение по умолчанию: throw

Контролирует, как кэш запросов обрабатывает SELECT запросы с недетерминированными функциями, такими как rand() или now().

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

  • 'throw' - Выбросить исключение и не кешировать результат запроса.
  • 'save' - Кешировать результат запроса.
  • 'ignore' - Не кешировать результат запроса и не выбрасывать исключение.

query_cache_share_between_users

Тип: Bool

Значение по умолчанию: 0

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

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

  • 0 - Отключено
  • 1 - Включено

query_cache_squash_partial_results

Тип: Bool

Значение по умолчанию: 1

Сжатие блоков частичных результатов до блоков размера max_block_size. Уменьшает производительность вставок в кэш запросов, но улучшает сжимаемость записей кэша (см. query_cache_compress-entries).

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

  • 0 - Отключено
  • 1 - Включено

query_cache_system_table_handling

Тип: QueryResultCacheSystemTableHandling

Значение по умолчанию: throw

Контролирует, как кэш запросов обрабатывает SELECT запросы к системным таблицам, т.е. таблицам в базах данных system.* и information_schema.*.

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

  • 'throw' - Возбросить исключение и не кешировать результат запроса.
  • 'save' - Кешировать результат запроса.
  • 'ignore' - Не кешировать результат запроса и не возбуждать исключение.

query_cache_tag

Тип: String

Значение по умолчанию:

Строка, выступающая в качестве метки для записей в кэше запросов. Одинаковые запросы с разными метками считаются различными в кэше запросов.

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

  • Любая строка

query_cache_ttl

Тип: Seconds

Значение по умолчанию: 60

После этого времени в секундах записи в кэше запросов становятся устаревшими.

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

  • Положительное целое число >= 0.

query_metric_log_interval

Тип: Int64

Значение по умолчанию: -1

Интервал в миллисекундах, через который собирается query_metric_log для индивидуальных запросов.

Если установлено любое отрицательное значение, оно примет значение collect_interval_milliseconds из настройки query_metric_log или по умолчанию 1000, если оно отсутствует.

Чтобы отключить сбор для одного запроса, установите query_metric_log_interval в 0.

Значение по умолчанию: -1

query_plan_aggregation_in_order

Тип: Bool

Значение по умолчанию: 1

Переключает оптимизацию агрегации по порядку на уровне плана запроса. Влияет только в том случае, если параметр query_plan_enable_optimizations равен 1.

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_convert_join_to_in

Тип: Bool

Значение по умолчанию: 0

Разрешает преобразование JOIN в подзапрос с IN, если выводимые столбцы привязаны только к левой таблице

query_plan_convert_outer_join_to_inner_join

Тип: Bool

Значение по умолчанию: 1

Разрешает преобразование OUTER JOIN в INNER JOIN, если фильтр после JOIN всегда фильтрует значения по умолчанию

query_plan_enable_multithreading_after_window_functions

Тип: Bool

Значение по умолчанию: 1

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

query_plan_enable_optimizations

Тип: Bool

Значение по умолчанию: 1

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

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

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

  • 0 - Отключить все оптимизации на уровне плана запроса
  • 1 - Включить оптимизации на уровне плана запроса (но отдельные оптимизации всё ещё могут быть отключены через их индивидуальные настройки)

query_plan_execute_functions_after_sorting

Тип: Bool

Значение по умолчанию: 1

Переключает оптимизацию на уровне плана запроса, перемещающую выражения после этапов сортировки. Влияет только в том случае, если параметр query_plan_enable_optimizations равен 1.

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_filter_push_down

Тип: Bool

Значение по умолчанию: 1

Переключает оптимизацию на уровне плана запроса, перемещающую фильтры вниз в плане выполнения. Влияет только в том случае, если параметр query_plan_enable_optimizations равен 1.

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_join_shard_by_pk_ranges

Тип: Bool

Значение по умолчанию: 0

Применять шардирование для JOIN, если ключи соединения содержат префикс первичного ключа для обеих таблиц. Поддерживается для алгоритмов hash, parallel_hash и full_sorting_merge

query_plan_join_swap_table

Тип: BoolAuto

Значение по умолчанию: auto

Определяет, какая сторона соединения должна быть таблицей построения (также называемой внутренней, та, которая вставляется в хеш-таблицу для хеш-соединения) в плане запроса. Этот параметр поддерживается только для строгойсти соединения ALL с условием JOIN ON. Возможные значения:

  • 'auto': Позволяет планировщику решать, какую таблицу использовать в качестве таблицы построения.
  • 'false': Никогда не менять таблицы (правая таблица является таблицей построения).
  • 'true': Всегда менять таблицы (левая таблица является таблицей построения).

query_plan_lift_up_array_join

Тип: Bool

Значение по умолчанию: 1

Переключает оптимизацию на уровне плана запроса, перемещающую ARRAY JOIN вверх в плане выполнения. Влияет только в том случае, если параметр query_plan_enable_optimizations равен 1.

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_lift_up_union

Тип: Bool

Значение по умолчанию: 1

Переключает оптимизацию на уровне плана запроса, перемещая большие поддеревья плана запроса в union для возможности дальнейших оптимизаций. Влияет только в том случае, если параметр query_plan_enable_optimizations равен 1.

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_max_limit_for_lazy_materialization

Тип: UInt64

Значение по умолчанию: 10

Контролировать максимальное значение лимита, которое позволяет использовать план запроса для оптимизации ленивой материализации. Если ноль, то нет лимита

query_plan_max_optimizations_to_apply

Тип: UInt64

Значение по умолчанию: 10000

Ограничивает общее количество применяемых оптимизаций к плану запроса, см. параметр query_plan_enable_optimizations. Полезно для предотвращения длительных времён оптимизации для сложных запросов. В запросе EXPLAIN PLAN, прекратить применение оптимизаций после достижения этого предела и вернуть план как есть. Для обычного выполнения запроса, если фактическое количество оптимизаций превышает этот параметр, будет выброшено исключение.

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

query_plan_merge_expressions

Тип: Bool

Значение по умолчанию: 1

Переключает оптимизацию на уровне плана запроса, объединяющую последовательные фильтры. Влияет только в том случае, если параметр query_plan_enable_optimizations равен 1.

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_merge_filters

Тип: Bool

Значение по умолчанию: 1

Разрешает объединение фильтров в плане запроса

query_plan_optimize_lazy_materialization

Тип: Bool

Значение по умолчанию: 1

Используйте план запроса для оптимизации ленивой материализации

query_plan_optimize_prewhere

Тип: Bool

Значение по умолчанию: 1

Разрешает опускать фильтр в выражение PREWHERE для поддерживаемых хранилищ

query_plan_push_down_limit

Тип: Bool

Значение по умолчанию: 1

Переключает оптимизацию на уровне плана запроса, перемещающую LIMITs вниз в плане выполнения. Влияет только в том случае, если параметр query_plan_enable_optimizations равен 1.

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_read_in_order

Тип: Bool

Значение по умолчанию: 1

Переключает оптимизацию чтения в порядке на уровне плана запроса. Влияет только в том случае, если параметр query_plan_enable_optimizations равен 1.

примечание

Это настройка уровня эксперта, которая должна использоваться только для отладки разработчиками. Параметр может измениться в будущем в несовместимых назад способах или быть удалён.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_remove_redundant_distinct

Тип: Bool

Значение по умолчанию: 1

Включает оптимизацию на уровне плана запроса, которая удаляет избыточные шаги DISTINCT. Вступает в силу только если настройка query_plan_enable_optimizations равна 1.

примечание

Это настройка экспертного уровня, которая должна использоваться только для отладки разработчиками. Настройка может измениться в будущем несовместимым образом или быть удалена.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_remove_redundant_sorting

Тип: Bool

Значение по умолчанию: 1

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

примечание

Это настройка экспертного уровня, которая должна использоваться только для отладки разработчиками. Настройка может измениться в будущем несовместимым образом или быть удалена.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_reuse_storage_ordering_for_window_functions

Тип: Bool

Значение по умолчанию: 1

Включает оптимизацию на уровне плана запроса, которая использует сортировку хранилища при сортировке для оконных функций. Вступает в силу только если настройка query_plan_enable_optimizations равна 1.

примечание

Это настройка экспертного уровня, которая должна использоваться только для отладки разработчиками. Настройка может измениться в будущем несовместимым образом или быть удалена.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_split_filter

Тип: Bool

Значение по умолчанию: 1

примечание

Это настройка экспертного уровня, которая должна использоваться только для отладки разработчиками. Настройка может измениться в будущем несовместимым образом или быть удалена.

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

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

  • 0 - Отключить
  • 1 - Включить

Тип: Bool

Значение по умолчанию: 1

Включает оптимизацию на уровне плана запроса, которая пытается использовать векторный индекс подобия. Вступает в силу только если настройка query_plan_enable_optimizations равна 1.

примечание

Это настройка экспертного уровня, которая должна использоваться только для отладки разработчиками. Настройка может измениться в будущем несовместимым образом или быть удалена.

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

  • 0 - Отключить
  • 1 - Включить

query_plan_use_new_logical_join_step

Тип: Bool

Значение по умолчанию: 1

Использовать новый шаг логического соединения в плане запроса

query_profiler_cpu_time_period_ns

Тип: UInt64

Значение по умолчанию: 1000000000

Устанавливает период для таймера процессорного времени в профилировщике запросов. Этот таймер учитывает только время процессора.

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

  • Положительное целое число в наносекундах.

    Рекомендуемые значения:

    • 10000000 (100 раз в секунду) наносекунд и более для одиночных запросов.
    • 1000000000 (один раз в секунду) для кластерного профилирования.
  • 0 для отключения таймера.

Временно отключено в ClickHouse Cloud.

См. также:

  • Системная таблица trace_log

query_profiler_real_time_period_ns

Тип: UInt64

Значение по умолчанию: 1000000000

Устанавливает период для реального таймера времени в профилировщике запросов. Реальный таймер времени учитывает время "стены".

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

  • Положительное целое число, в наносекундах.

    Рекомендуемые значения:

    • 10000000 (100 раз в секунду) наносекунд и меньше для одиночных запросов.
    • 1000000000 (один раз в секунду) для кластерного профилирования.
  • 0 для отключения таймера.

Временно отключено в ClickHouse Cloud.

См. также:

  • Системная таблица trace_log

queue_max_wait_ms

Тип: Milliseconds

Значение по умолчанию: 0

Время ожидания в очереди запросов, если количество одновременных запросов превышает максимум.

rabbitmq_max_wait_ms

Тип: Milliseconds

Значение по умолчанию: 5000

Время ожидания для чтения из RabbitMQ перед повторной попыткой.

read_backoff_max_throughput

Тип: UInt64

Значение по умолчанию: 1048576

Настройки для уменьшения количества потоков в случае медленных чтений. Подсчитывать события, когда пропускная способность чтения меньше указанного количества байт в секунду.

read_backoff_min_concurrency

Тип: UInt64

Значение по умолчанию: 1

Настройки для попытки сохранить минимальное количество потоков в случае медленных чтений.

read_backoff_min_events

Тип: UInt64

Значение по умолчанию: 2

Настройки для уменьшения количества потоков в случае медленных чтений. Количество событий, после которых количество потоков будет уменьшено.

read_backoff_min_interval_between_events_ms

Тип: Milliseconds

Значение по умолчанию: 1000

Настройки для уменьшения количества потоков в случае медленных чтений. Не обращать внимание на событие, если прошло меньше определенного времени с предыдущего события.

read_backoff_min_latency_ms

Тип: Milliseconds

Значение по умолчанию: 1000

Настройка для уменьшения количества потоков в случае медленных чтений. Обращать внимание только на чтения, которые заняли хотя бы столько времени.

read_from_filesystem_cache_if_exists_otherwise_bypass_cache

Тип: Bool

Значение по умолчанию: 0

Разрешает использование кэша файловой системы в пассивном режиме - извлечение пользы от существующих записей кэша, не добавляя новых записей. Если вы устанавливаете эту настройку для тяжёлых запросов ad-hoc и оставляете её отключенной для коротких запросов в режиме реального времени, это позволит избежать трешинга кэша слишком тяжёлыми запросами и улучшить общую эффективность системы.

read_from_page_cache_if_exists_otherwise_bypass_cache

Тип: Bool

Значение по умолчанию: 0

Использовать кэш страниц в пространстве пользователя в пассивном режиме, аналогично read_from_filesystem_cache_if_exists_otherwise_bypass_cache.

read_in_order_two_level_merge_threshold

Тип: UInt64

Значение по умолчанию: 100

Минимальное количество частей для чтения, чтобы запустить предварительный шаг слияния во время многопоточного чтения в порядке первичного ключа.

read_in_order_use_buffering

Тип: Bool

Значение по умолчанию: 1

Использовать буферизацию перед слиянием при чтении в порядке первичного ключа. Это увеличивает параллелизм выполнения запросов.

read_in_order_use_virtual_row

Тип: Bool

Значение по умолчанию: 0

Использовать виртуальную строку при чтении в порядке первичного ключа или его монотонной функции. Это полезно при поиске по нескольким частям, поскольку затрагиваются только соответствующие части.

read_overflow_mode

Тип: OverflowMode

Значение по умолчанию: throw

Что делать, когда лимит превышен.

read_overflow_mode_leaf

Тип: OverflowMode

Значение по умолчанию: throw

Что делать, когда лимит листа превышен.

read_priority

Тип: Int64

Значение по умолчанию: 0

Приоритет чтения данных из локальной файловой системы или удаленной файловой системы. Поддерживается только для метода 'pread_threadpool' для локальной файловой системы и для метода 'threadpool' для удаленной файловой системы.

read_through_distributed_cache

ClickHouse Cloud only

Тип: Bool

Значение по умолчанию: 0

Имеет эффект только в ClickHouse Cloud. Позволяет чтение из распределённого кэша.

readonly

Тип: UInt64

Значение по умолчанию: 0

0 - отсутствуют ограничения только для чтения. 1 - только запросы чтения, а также изменение явно разрешённых настроек. 2 - только запросы чтения, а также изменение настроек, за исключением настройки 'readonly'.

receive_data_timeout_ms

Тип: Milliseconds

Значение по умолчанию: 2000

Время ожидания подключения для получения первого пакета данных или пакета с положительным прогрессом от реплики.

receive_timeout

Тип: Seconds

Значение по умолчанию: 300

Время ожидания получения данных из сети, в секундах. Если в этом интервале не было получено никаких байт, возникает исключение. Если вы устанавливаете эту настройку на клиенте, 'send_timeout' для сокета также будет установлен на соответствующем соединении на сервере.

regexp_max_matches_per_row

Тип: UInt64

Значение по умолчанию: 1000

Устанавливает максимальное количество совпадений для одного регулярного выражения на строку. Используется для защиты от перегрузки памяти при использовании жадного регулярного выражения в функции extractAllGroupsHorizontal.

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

  • Положительное целое число.

reject_expensive_hyperscan_regexps

Тип: Bool

Значение по умолчанию: 1

Отклонять шаблоны, которые, вероятно, будут дорогостоящими для выполнения с помощью hyperscan (из-за взрыва состояния NFA).

remerge_sort_lowered_memory_bytes_ratio

Тип: Float

Значение по умолчанию: 2

Если использование памяти после повторного слияния не уменьшилось в этом соотношении, повторное слияние будет отключено.

remote_filesystem_read_method

Тип: String

Значение по умолчанию: threadpool

Метод чтения данных из удаленной файловой системы, один из: read, threadpool.

remote_filesystem_read_prefetch

Тип: Bool

Значение по умолчанию: 1

Следует ли использовать предвыборку при чтении данных из удаленной файловой системы.

remote_fs_read_backoff_max_tries

Тип: UInt64

Значение по умолчанию: 5

Максимальное количество попыток чтения с отступом.

remote_fs_read_max_backoff_ms

Тип: UInt64

Значение по умолчанию: 10000

Максимальное время ожидания при попытке чтения данных для удалённого диска.

remote_read_min_bytes_for_seek

Тип: UInt64

Значение по умолчанию: 4194304

Минимальное количество байт для удалённого чтения (url, s3) для выполнения поиска, вместо чтения с игнорированием.

rename_files_after_processing

Тип: String

Значение по умолчанию:

  • Тип: 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.

replace_running_query

Тип: Bool

Значение по умолчанию: 0

При использовании HTTP интерфейса может быть передан параметр 'query_id'. Это любая строка, служащая идентификатором запроса. Если в данный момент уже существует запрос от того же пользователя с тем же 'query_id', поведение зависит от параметра 'replace_running_query'.

0 (по умолчанию) – Возбуждайте исключение (не позволяйте запускать запрос, если запрос с тем же 'query_id' уже выполняется).

1 – Отменить старый запрос и начать выполнение нового.

Установите этот параметр в 1 для реализации предложений для условий сегментации. После ввода следующего символа, если старый запрос еще не завершён, он должен быть отменен.

replace_running_query_max_wait_ms

Тип: Milliseconds

Значение по умолчанию: 5000

Время ожидания завершения выполнения запроса с тем же query_id, когда активна настройка replace_running_query.

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

  • Положительное целое число.
  • 0 — Вызывает исключение, которое не позволяет выполнить новый запрос, если сервер уже выполняет запрос с тем же query_id.

replication_wait_for_inactive_replica_timeout

Тип: Int64

Значение по умолчанию: 120

Определяет, как долго (в секундах) ждать выполнения неактивными репликами запросов ALTER, OPTIMIZE или TRUNCATE.

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

  • 0 — Не ждать.
  • Отрицательное число — Ждать неограниченное время.
  • Положительное число — Количество секунд ожидания.

restore_replace_external_dictionary_source_to_null

Тип: Bool

Значение по умолчанию: 0

Заменить внешние источники словаря на Null при восстановлении. Полезно для тестирования

restore_replace_external_engines_to_null

Тип: Bool

Значение по умолчанию: 0

Для тестирования. Заменяет все внешние движки на Null, чтобы не инициировать внешние подключения.

restore_replace_external_table_functions_to_null

Тип: Bool

Значение по умолчанию: 0

Для тестирования. Заменяет все внешние табличные функции на Null, чтобы не инициировать внешние подключения.

restore_replicated_merge_tree_to_shared_merge_tree

Тип: Bool

Значение по умолчанию: 0

Заменяет движок таблицы с ReplicatedMergeTree на SharedMergeTree во время RESTORE.

result_overflow_mode

Тип: OverflowMode

Значение по умолчанию: throw

Что делать, когда ограничение превышено.

rewrite_count_distinct_if_with_count_distinct_implementation

Тип: Bool

Значение по умолчанию: 0

Позволяет переписать countDistcintIf с настройкой count_distinct_implementation.

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

  • true — Разрешить.
  • false — Запретить.

s3_allow_multipart_copy

Тип: Bool

Значение по умолчанию: 1

Разрешить многочастичное копирование в S3.

s3_allow_parallel_part_upload

Тип: Bool

Значение по умолчанию: 1

Использовать несколько потоков для многочастичного загрузки s3. Это может привести к несколько большему использованию памяти.

s3_check_objects_after_upload

Тип: Bool

Значение по умолчанию: 0

Проверять каждый загруженный объект в s3 с запросом head, чтобы убедиться в успешности загрузки.

s3_connect_timeout_ms

Тип: UInt64

Значение по умолчанию: 1000

Время ожидания подключения для хоста с s3 дисков.

s3_create_new_file_on_insert

Тип: Bool

Значение по умолчанию: 0

Включает или отключает создание нового файла при каждой вставке в таблицы движка s3. Если включено, при каждой вставке будет создаваться новый объект S3 с ключом, аналогичным этому шаблону:

начальный: data.Parquet.gz -> data.1.Parquet.gz -> data.2.Parquet.gz и т. д.

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

  • 0 — INSERT создает новый файл или завершить неудачей, если файл существует и s3_truncate_on_insert не установлен.
  • 1 — INSERT создает новый файл при каждой вставке, используя суффикс (начиная со второго), если s3_truncate_on_insert не установлен.

Подробнее см. здесь.

s3_disable_checksum

Тип: Bool

Значение по умолчанию: 0

Не рассчитывать контрольную сумму при отправке файла на S3. Это ускоряет записи, избегая избыточных проходов обработки на файле. Это в основном безопасно, поскольку данные таблиц MergeTree в любом случае проверяются ClickHouse, а когда S3 доступен через HTTPS, уровень TLS уже обеспечивает целостность при передаче через сеть. Хотя дополнительные контрольные суммы на S3 обеспечивают защиту в глубину.

s3_ignore_file_doesnt_exist

Тип: Bool

Значение по умолчанию: 0

Игнорировать отсутствие файла, если он не существует при чтении определённых ключей.

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

  • 1 — SELECT возвращает пустой результат.
  • 0 — SELECT вызывает исключение.

s3_list_object_keys_size

Тип: UInt64

Значение по умолчанию: 1000

Максимальное количество файлов, которые могут быть возвращены пакетом запросом ListObject.

s3_max_connections

Тип: UInt64

Значение по умолчанию: 1024

Максимальное количество подключений на сервер.

s3_max_get_burst

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество запросов, которые могут быть выполнены одновременно до достижения лимита запросов в секунду. По умолчанию (0) равно s3_max_get_rps.

s3_max_get_rps

Тип: UInt64

Значение по умолчанию: 0

Ограничение на скорость запроса S3 GET в секунду перед усекаемой. Ноль означает без ограничений.

s3_max_inflight_parts_for_one_file

Тип: UInt64

Значение по умолчанию: 20

Максимальное количество одновременно загружаемых частей в запросе многочастичной загрузки. 0 означает неограниченно.

s3_max_part_number

Тип: UInt64

Значение по умолчанию: 10000

Максимальное количество частей для загрузки в запросе многочастичной загрузки в s3.

s3_max_put_burst

Тип: UInt64

Значение по умолчанию: 0

Максимальное количество запросов, которые могут быть выполнены одновременно до достижения лимита запросов в секунду. По умолчанию (0) равно s3_max_put_rps.

s3_max_put_rps

Тип: UInt64

Значение по умолчанию: 0

Ограничение на скорость запроса S3 PUT в секунду перед усекаемой. Ноль означает без ограничений.

s3_max_redirects

Тип: UInt64

Значение по умолчанию: 10

Максимальное количество разрешённых переходов S3.

s3_max_single_operation_copy_size

Тип: UInt64

Значение по умолчанию: 33554432

Максимальный размер для однооперационного копирования в s3. Эта настройка используется только если s3_allow_multipart_copy истинна.

s3_max_single_part_upload_size

Тип: UInt64

Значение по умолчанию: 33554432

Максимальный размер объекта для загрузки с использованием однооперационной загрузки в S3.

s3_max_single_read_retries

Тип: UInt64

Значение по умолчанию: 4

Максимальное количество повторных попыток во время одного чтения S3.

s3_max_unexpected_write_error_retries

Тип: UInt64

Значение по умолчанию: 4

Максимальное количество повторных попыток в случае неожиданных ошибок при записи в S3.

s3_max_upload_part_size

Тип: UInt64

Значение по умолчанию: 5368709120

Максимальный размер части для загрузки при многочастичной загрузке в S3.

s3_min_upload_part_size

Тип: UInt64

Значение по умолчанию: 16777216

Минимальный размер части для загрузки при многочастичной загрузке в S3.

s3_request_timeout_ms

Тип: UInt64

Значение по умолчанию: 30000

Время простоя для отправки и получения данных в/из S3. Неуспех, если вызов чтения или записи TCP блокируется на это время.

s3_retry_attempts

Тип: UInt64

Значение по умолчанию: 100

Настройка для Aws::Client::RetryStrategy, Aws::Client сам выполняет повторные попытки, 0 означает без повторов.

s3_skip_empty_files

Тип: Bool

Значение по умолчанию: 1

Включает или отключает пропуск пустых файлов в таблицах движка S3.

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

  • 0 — SELECT вызывает исключение, если пустой файл не совместим с запрашиваемым форматом.
  • 1 — SELECT возвращает пустой результат для пустого файла.

s3_strict_upload_part_size

Тип: UInt64

Значение по умолчанию: 0

Точный размер части для загрузки при многочастичной загрузке в S3 (некоторые реализации не поддерживают изменение размеров частей).

s3_throw_on_zero_files_match

Тип: Bool

Значение по умолчанию: 0

Вызвать ошибку, когда запрос ListObjects не может сопоставить ни одного файла.

s3_truncate_on_insert

Тип: Bool

Значение по умолчанию: 0

Включает или отключает усечение перед вставками в таблицы движка s3. Если отключено, то при вставке будет выброшено исключение, если объект S3 уже существует.

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

  • 0 — INSERT создает новый файл или завершить неудачей, если файл существует и s3_create_new_file_on_insert не установлен.
  • 1 — INSERT заменяет существующее содержимое файла новыми данными.

Подробнее см. здесь.

s3_upload_part_size_multiply_factor

Тип: UInt64

Значение по умолчанию: 2

Умножает s3_min_upload_part_size на этот коэффициент каждый раз, когда s3_multiply_parts_count_threshold части были загружены из одной записи в S3.

s3_upload_part_size_multiply_parts_count_threshold

Тип: UInt64

Значение по умолчанию: 500

Каждый раз, когда это количество частей было загружено в S3, s3_min_upload_part_size умножается на s3_upload_part_size_multiply_factor.

s3_use_adaptive_timeouts

Тип: Bool

Значение по умолчанию: 1

Когда установлено значение true, для всех запросов s3 первые две попытки выполняются с низкими тайм-аутами отправки и получения. Когда установлено значение false, все попытки выполняются с одинаковыми тайм-аутами.

s3_validate_request_settings

Тип: Bool

Значение по умолчанию: 1

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

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

  • 1 — проверка настроек.
  • 0 — не проверять настройки.

s3queue_default_zookeeper_path

Тип: String

Значение по умолчанию: /clickhouse/s3queue/

Путь по умолчанию zookeeper для движка S3Queue.

s3queue_enable_logging_to_s3queue_log

Тип: Bool

Значение по умолчанию: 0

Включить запись в system.s3queue_log. Значение может быть переопределено для таблицы с использованием настроек таблицы.

s3queue_migrate_old_metadata_to_buckets

Тип: Bool

Значение по умолчанию: 0

Миграция старой структуры метаданных таблицы S3Queue на новую.

schema_inference_cache_require_modification_time_for_url

Тип: Bool

Значение по умолчанию: 1

Использовать схему из кэша для URL с проверкой времени последнего изменения (для URL-адресов с заголовком Last-Modified).

schema_inference_use_cache_for_azure

Тип: Bool

Значение по умолчанию: 1

Использовать кэш в выводе схемы при использовании табличной функции azure.

schema_inference_use_cache_for_file

Тип: Bool

Значение по умолчанию: 1

Использовать кэш в выводе схемы при использовании табличной функции файла.

schema_inference_use_cache_for_hdfs

Тип: Bool

Значение по умолчанию: 1

Использовать кэш в выводе схемы при использовании табличной функции hdfs.

schema_inference_use_cache_for_s3

Тип: Bool

Значение по умолчанию: 1

Использовать кэш в выводе схемы при использовании табличной функции s3.

schema_inference_use_cache_for_url

Тип: Bool

Значение по умолчанию: 1

Использовать кэш в выводе схемы при использовании табличной функции url.

select_sequential_consistency

Тип: UInt64

Значение по умолчанию: 0

примечание

Эта настройка отличается поведением между SharedMergeTree и ReplicatedMergeTree, подробнее смотрите Консистенция SharedMergeTree для информации о поведении select_sequential_consistency в SharedMergeTree.

Включает или выключает последовательную консистенцию для запросов SELECT. Требует, чтобы insert_quorum_parallel был отключен (включен по умолчанию).

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

  • 0 — Отключено.
  • 1 — Включено.

Использование

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

Когда insert_quorum_parallel включен (по умолчанию), то select_sequential_consistency не работает. Это связано с тем, что параллельные INSERT запросы могут быть записаны в разные наборы кворум-реплик, поэтому нет гарантии, что одна реплика получит все записи.

См. также:

send_logs_level

Тип: LogsLevel

Значение по умолчанию: fatal

Отправлять текстовые логи сервера с указанным минимальным уровнем клиенту. Допустимые значения: 'trace', 'debug', 'information', 'warning', 'error', 'fatal', 'none'.

send_logs_source_regexp

Тип: String

Значение по умолчанию:

Отправлять текстовые логи сервера с указанной регуляркой для соответствия имени источника лога. Пустое означает все источники.

send_progress_in_http_headers

Тип: Bool

Значение по умолчанию: 0

Включает или отключает заголовки HTTP ответа X-ClickHouse-Progress в ответах clickhouse-server.

Для получения дополнительной информации прочтите описание HTTP интерфейса.

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

  • 0 — Отключено.
  • 1 — Включено.

send_timeout

Тип: Seconds

Значение по умолчанию: 300

Тайм-аут для отправки данных в сеть, в секундах. Если клиент должен отправить какие-либо данные, но не может отправить ни одного байта в этом интервале, возникает исключение. Если вы устанавливаете эту настройку на клиенте, 'receive_timeout' для сокета также будет установлен на соответствующем соединении на сервере.

session_timezone

Beta feature. Learn more.

Тип: Timezone

Значение по умолчанию:

Устанавливает неявный часовой пояс текущей сессии или запроса. Неявный часовой пояс — это часовой пояс, применяемый к значениям типа DateTime/DateTime64, которые не имеют явно указанного часового пояса. Настройка имеет приоритет над глобально настроенным (на уровне сервера) неявным часовым поясом. Значение '' (пустая строка) означает, что неявный часовой пояс текущей сессии или запроса равен часовому поясу сервера.

Вы можете использовать функции timeZone() и serverTimeZone(), чтобы получить часовой пояс сессии и часовой пояс сервера.

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

  • Любое имя часового пояса из system.time_zones, например, Europe/Berlin, UTC или Zulu.

Примеры:

Назначьте часовой пояс сессии 'America/Denver' внутреннему DateTime без явно указанного часового пояса:

осторожно

Не все функции, которые разбирают DateTime/DateTime64, уважают session_timezone. Это может привести к тонким ошибкам.

Смотрите следующий пример и объяснение.

Это происходит из-за различных способов разбора:

  • toDateTime() без явно указанного часового пояса, используемого в первом запросе SELECT, уважает настройку session_timezone и глобальный часовой пояс.
  • Во втором запросе DateTime анализируется из строки и наследует тип и часовой пояс от существующего столбца d. Таким образом, настройка session_timezone и глобальный часовой пояс не уважаются.

См. также

set_overflow_mode

Тип: OverflowMode

Значение по умолчанию: throw

Что делать, когда лимит превышен.

shared_merge_tree_sync_parts_on_partition_operations

Тип: Bool

Значение по умолчанию: 1

Автоматически синхронизировать набор частей данных после MOVE|REPLACE|ATTACH операций с разделами в таблицах SMT. Только для облака.

short_circuit_function_evaluation

Тип: ShortCircuitFunctionEvaluation

Значение по умолчанию: enable

Позволяет вычислять функции if, multiIf, and и or с использованием короткой схемы. Это помогает оптимизировать выполнение сложных выражений в этих функциях и предотвращать возможные исключения (например, деление на ноль, когда это не ожидается).

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

  • enable — Включает кратковременные вычисления для функций, подходящих для этого (могут вызвать исключение или быть вычислительно затратными).
  • force_enable — Включает кратковременные вычисления для всех функций.
  • disable — Отключает кратковременные вычисления функций.

short_circuit_function_evaluation_for_nulls

Тип: Bool

Значение по умолчанию: 1

Оптимизирует оценку функций, которые возвращают NULL, когда любой аргумент равен NULL. Когда процент значений NULL в аргументах функции превышает short_circuit_function_evaluation_for_nulls_threshold, система пропускает оценку функции построчно. Вместо этого она мгновенно возвращает NULL для всех строк, избегая ненужных вычислений.

short_circuit_function_evaluation_for_nulls_threshold

Тип: Double

Значение по умолчанию: 1

Пороговое значение соотношения NULL значений для выполнения функций с Nullable аргументами только на строках с не-NULL значениями во всех аргументах. Применяется, когда параметр short_circuit_function_evaluation_for_nulls включен. Когда соотношение строк, содержащих NULL значения, к общему количеству строк превышает этот порог, эти строки с NULL значениями не будут оцениваться.

show_table_uuid_in_table_create_query_if_not_nil

Тип: Bool

Значение по умолчанию: 0

Устанавливает отображение запроса SHOW TABLE.

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

  • 0 — Запрос будет отображаться без UUID таблицы.
  • 1 — Запрос будет отображаться с UUID таблицы.

single_join_prefer_left_table

Тип: Bool

Значение по умолчанию: 1

Для одиночного JOIN в случае неоднозначности идентификатора предпочитать левую таблицу.

skip_redundant_aliases_in_udf

Тип: Bool

Значение по умолчанию: 0

Избыточные алиасы не используются (не подставляются) в пользовательских функциях для упрощения их использования.

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

  • 1 — Алиасы не учитываются (подставляются) в UDF.
  • 0 — Алиасы учитываются (не подставляются) в UDF.

Пример

Разница между включенным и выключенным:

Запрос:

Результат:

Запрос:

Результат:

skip_unavailable_shards

Тип: Bool

Значение по умолчанию: 0

Включает или отключает тихое пропускание недоступных шардов.

Шард считается недоступным, если все его реплики недоступны. Реплика недоступна в следующих случаях:

  • ClickHouse не может подключиться к реплике по любой причине.

    При подключении к реплике ClickHouse выполняет несколько попыток. Если все эти попытки неудачны, реплика считается недоступной.

  • Реплика не может быть разрешена через DNS.

    Если имя хоста реплики не может быть разрешено через DNS, это может указывать на следующие ситуации:

    • У хоста реплики нет DNS-записи. Это может происходить в системах с динамическим DNS, например, в Kubernetes, где узлы могут быть неразрешимыми во время простоя, и это не является ошибкой.

    • Ошибка конфигурации. Файл конфигурации ClickHouse содержит неправильное имя хоста.

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

  • 1 — пропуск включен.

    Если шард недоступен, ClickHouse возвращает результат на основе частичных данных и не сообщает о проблемах доступности узлов.

  • 0 — пропуск отключен.

    Если шард недоступен, ClickHouse выбрасывает исключение.

sleep_after_receiving_query_ms

Тип: Миллисекунды

Значение по умолчанию: 0

Время ожидания после получения запроса в TCPHandler

sleep_in_send_data_ms

Тип: Миллисекунды

Значение по умолчанию: 0

Время ожидания при отправке данных в TCPHandler

sleep_in_send_tables_status_ms

Тип: Миллисекунды

Значение по умолчанию: 0

Время ожидания при отправке ответа о статусе таблиц в TCPHandler

sort_overflow_mode

Тип: OverflowMode

Значение по умолчанию: throw

Что делать, когда лимит превышен.

split_intersecting_parts_ranges_into_layers_final

Тип: Bool

Значение по умолчанию: 1

Разделить пересекающиеся диапазоны частей на слои во время финальной оптимизации (FINAL optimization).

split_parts_ranges_into_intersecting_and_non_intersecting_final

Тип: Bool

Значение по умолчанию: 1

Разделить диапазоны частей на пересекающиеся и непересекающиеся во время финальной оптимизации (FINAL optimization).

splitby_max_substrings_includes_remaining_string

Тип: Bool

Значение по умолчанию: 0

Контролирует, будет ли функция splitBy*() с аргументом max_substrings > 0 включать оставшуюся строку в последний элемент массива результата.

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

  • 0 - Оставшаяся строка не будет включена в последний элемент массива результата.
  • 1 - Оставшаяся строка будет включена в последний элемент массива результата. Это поведение функции split() в Spark и метода 'string.split()' в Python.

stop_refreshable_materialized_views_on_startup

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 0

При запуске сервера предотвращает планирование обновляемых материализованных представлений, как если бы с использованием SYSTEM STOP VIEWS. Вы можете вручную запустить их с помощью SYSTEM START VIEWS или SYSTEM START VIEW <name>. Также применяется к вновь созданным представлениям. Не влияет на необновляемые материализованные представления.

storage_file_read_method

Тип: LocalFSReadMethod

Значение по умолчанию: pread

Метод чтения данных из файла хранилища, один из следующих: read, pread, mmap. Метод mmap не применяется к clickhouse-server (он предназначен для clickhouse-local).

storage_system_stack_trace_pipe_read_timeout_ms

Тип: Миллисекунды

Значение по умолчанию: 100

Максимальное время для чтения из канала для получения информации из потоков при запросе таблицы system.stack_trace. Этот параметр используется для тестирования и не предназначен для изменения пользователями.

stream_flush_interval_ms

Тип: Миллисекунды

Значение по умолчанию: 7500

Работает для таблиц с потоковой передачей в случае тайм-аута или когда поток генерирует max_insert_block_size строк.

Значение по умолчанию 7500.

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

stream_like_engine_allow_direct_select

Тип: Bool

Значение по умолчанию: 0

Разрешить прямой запрос SELECT для движков Kafka, RabbitMQ, FileLog, Redis Streams и NATS. В случае, если есть прикрепленные материализованные представления, запрос SELECT не разрешен, даже если этот параметр включен.

stream_like_engine_insert_queue

Тип: String

Значение по умолчанию:

Когда движок, похожий на стриминговый, читает из нескольких очередей, пользователю нужно выбрать одну очередь для вставки при записи. Используется для Redis Streams и NATS.

stream_poll_timeout_ms

Тип: Миллисекунды

Значение по умолчанию: 500

Тайм-аут для опроса данных из/в стриминговых хранилищах.

system_events_show_zero_values

Тип: Bool

Значение по умолчанию: 0

Позволяет выбирать события со значением ноль из таблицы system.events.

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

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

  • 0 — Отключено.
  • 1 — Включено.

Примеры

Запрос

Результат

Запрос

Результат

table_function_remote_max_addresses

Тип: UInt64

Значение по умолчанию: 1000

Устанавливает максимальное количество адресов, сгенерированных из шаблонов для функции remote.

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

  • Положительное целое число.

tcp_keep_alive_timeout

Тип: Секунды

Значение по умолчанию: 290

Время в секундах, которое соединение должно оставаться в простое, прежде чем TCP начнет отправлять keepalive-пробы.

temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds

Тип: UInt64

Значение по умолчанию: 600000

Время ожидания блокировки кэша для резервирования места для временных данных в файловом кэше.

temporary_files_codec

Тип: String

Значение по умолчанию: LZ4

Устанавливает кодек сжатия для временных файлов, используемых при сортировке и операциях соединения на диске.

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

  • LZ4 — Применяется сжатие LZ4.
  • NONE — Сжатие не применяется.

throw_if_deduplication_in_dependent_materialized_views_enabled_with_async_insert

Тип: Bool

Значение по умолчанию: 1

Выбрасывать исключение при запросе INSERT, если параметр deduplicate_blocks_in_dependent_materialized_views включен вместе с async_insert. Это гарантирует корректность, поскольку эти функции не могут работать вместе.

throw_if_no_data_to_insert

Тип: Bool

Значение по умолчанию: 1

Разрешает или запрещает пустые INSERT, включено по умолчанию (вызывает ошибку при пустой вставке). Применяется только к INSERT с использованием clickhouse-client или с использованием gRPC интерфейса.

throw_on_error_from_cache_on_write_operations

Тип: Bool

Значение по умолчанию: 0

Игнорировать ошибку из кэша при кэшировании операций записи (INSERT, слияния).

throw_on_max_partitions_per_insert_block

Тип: Bool

Значение по умолчанию: 1

Используется с max_partitions_per_insert_block. Если true (по умолчанию), будет выброшено исключение, когда max_partitions_per_insert_block достигнуто. Если false, детали запроса вставки, достигнувшего этого лимита с количеством разделов, будут зарегистрированы. Это может быть полезно, если вы пытаетесь понять воздействие на пользователей при изменении max_partitions_per_insert_block.

throw_on_unsupported_query_inside_transaction

Experimental feature. Learn more.

Тип: Bool

Значение по умолчанию: 1

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

timeout_before_checking_execution_speed

Тип: Секунды

Значение по умолчанию: 10

Проверка, что скорость выполнения не слишком низкая после указанного времени.

timeout_overflow_mode

Тип: OverflowMode

Значение по умолчанию: throw

Что делать, когда превышен лимит времени.

timeout_overflow_mode_leaf

Тип: OverflowMode

Значение по умолчанию: throw

Что делать, когда превышен листовой лимит.

totals_auto_threshold

Тип: Float

Значение по умолчанию: 0.5

Порог для totals_mode = 'auto'. См. раздел "WITH TOTALS модификатор".

totals_mode

Тип: TotalsMode

Значение по умолчанию: after_having_exclusive

Как вычислять TOTALS, когда присутствует HAVING, а также когда заданы max_rows_to_group_by и group_by_overflow_mode = 'any'. См. раздел "WITH TOTALS модификатор".

trace_profile_events

Тип: Bool

Значение по умолчанию: 0

Включает или отключает сбор stacktraces при каждом обновлении событий профиля вместе с именем события профиля и значением инкремента и отправку их в trace_log.

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

  • 1 — Трассировка событий профиля включена.
  • 0 — Трассировка событий профиля отключена.

transfer_overflow_mode

Тип: OverflowMode

Значение по умолчанию: throw

Что делать, когда превышен лимит передачи.

transform_null_in

Тип: Bool

Значение по умолчанию: 0

Включает равенство NULL значений для оператора IN.

По умолчанию, NULL значения не могут сравниваться, так как NULL означает неопределенное значение. Таким образом, сравнение expr = NULL всегда должно возвращать false. С этой настройкой NULL = NULL возвращает true для оператора IN.

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

  • 0 — Сравнение NULL значений в операторе IN возвращает false.
  • 1 — Сравнение NULL значений в операторе IN возвращает true.

Пример

Рассмотрим таблицу null_in:

Запрос:

Результат:

Запрос:

Результат:

См. также

traverse_shadow_remote_data_paths

Тип: Bool

Значение по умолчанию: 0

Пересекать замороженные данные (каталог shadow) в дополнение к фактическим данным таблицы при запросе system.remote_data_paths

union_default_mode

Тип: SetOperationMode

Значение по умолчанию:

Устанавливает режим объединения результатов SELECT запроса. Настройка используется только при объединении с UNION без явного указания UNION ALL или UNION DISTINCT.

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

  • 'DISTINCT' — ClickHouse выводит строки в результате объединения запросов, удаляя дубликаты строк.
  • 'ALL' — ClickHouse выводит все строки в результате объединения запросов, включая дубликаты строк.
  • '' — ClickHouse вызывает исключение при использовании с UNION.

См. примеры в UNION.

unknown_packet_in_send_data

Тип: UInt64

Значение по умолчанию: 0

Отправляет неизвестный пакет вместо N-го пакета данных

use_async_executor_for_materialized_views

Тип: Bool

Значение по умолчанию: 0

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

use_cache_for_count_from_files

Тип: Bool

Значение по умолчанию: 1

Включает кэширование количества строк при подсчете из файлов в табличных функциях file/s3/url/hdfs/azureBlobStorage.

Включено по умолчанию.

use_client_time_zone

Тип: Bool

Значение по умолчанию: 0

Использовать временную зону клиента для интерпретации значений строк DateTime вместо принятия временной зоны сервера.

use_compact_format_in_distributed_parts_names

Тип: Bool

Значение по умолчанию: 1

Использует компактный формат для хранения блоков для фоновой (distributed_foreground_insert) INSERT в таблицах с движком Distributed.

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

  • 0 — Используется формат user[:password]@host:port#default_database для каталогов.
  • 1 — Используется формат [shard{shard_index}[_replica{replica_index}]] для каталогов.
примечание
  • при use_compact_format_in_distributed_parts_names=0 изменения из определения кластера не будут применяться для фонового INSERT.
  • при use_compact_format_in_distributed_parts_names=1 изменение порядка узлов в определении кластера изменит shard_index/replica_index, так что будьте внимательны.

use_concurrency_control

Тип: Bool

Значение по умолчанию: 1

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

use_hedged_requests

Тип: Bool

Значение по умолчанию: 1

Включает логику запасных запросов для удаленных запросов. Это позволяет устанавливать множество соединений с разными репликами для запроса. Новое соединение включается в случае, если существующее соединение(я) с репликой(ами) не установлен(ы) в течение hedged_connection_timeout или данные не были получены в течение receive_data_timeout. Запрос использует первое соединение, которое отправляет не пустой пакет прогресса (или пакет данных, если allow_changing_replica_until_first_data_packet); другие соединения отменяются. Запросы с max_parallel_replicas > 1 поддерживаются.

Включено по умолчанию.

Отключено по умолчанию в облаке.

use_hive_partitioning

Тип: Bool

Значение по умолчанию: 1

Когда включено, ClickHouse будет обнаруживать разбиение в стиле Hive в пути (/name=value/) в таблицах-схожих движках File/S3/URL/HDFS/AzureBlobStorage и позволит использовать столбцы-разделы как виртуальные столбцы в запросе. Эти виртуальные столбцы будут иметь те же имена, что и в пути с разбиением, но начинающиеся с _.

use_iceberg_partition_pruning

Тип: Bool

Значение по умолчанию: 0

Использовать обрезку (pruning) Iceberg-разделов для таблиц Iceberg.

use_index_for_in_with_subqueries

Тип: Bool

Значение по умолчанию: 1

Пытаться использовать индекс, если существует подзапрос или табличное выражение на правой стороне оператора IN.

use_index_for_in_with_subqueries_max_values

Тип: UInt64

Значение по умолчанию: 0

Максимальный размер множества на правой стороне оператора IN для использования индекса таблицы для фильтрации. Это позволяет избежать деградации производительности и увеличенного использования памяти из-за подготовки дополнительных структур данных для больших запросов. Ноль означает отсутствие ограничения.

use_json_alias_for_old_object_type

Тип: Bool

Значение по умолчанию: 0

Когда включено, алиас типа данных JSON будет использоваться для создания старого типа Object('json') вместо нового типа JSON.

use_page_cache_for_disks_without_file_cache

Тип: Bool

Значение по умолчанию: 0

Использовать кэш страниц user space для удаленных дисков, для которых кэш файловой системы не включен.

use_page_cache_with_distributed_cache

Тип: Bool

Значение по умолчанию: 0

Использовать кэш страниц user space, когда используется распределенный кэш.

use_query_cache

Тип: Bool

Значение по умолчанию: 0

Если включено, SELECT запросы могут использовать кэш запросов. Параметры enable_reads_from_query_cache и enable_writes_to_query_cache более подробно контролируют, как используется кэш.

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

  • 0 - Отключено
  • 1 - Включено

use_query_condition_cache

Тип: Bool

Значение по умолчанию: 0

Включить кэш запросов условий. Кэш хранит диапазоны гранул в частях данных, которые не удовлетворяют условию в предложении WHERE, и повторно использовать эту информацию как эфемерный индекс для последующих запросов.

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

  • 0 - Отключено
  • 1 - Включено

use_skip_indexes

Тип: Bool

Значение по умолчанию: 1

Использовать индексы пропуска данных во время выполнения запроса.

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

  • 0 — Отключено.
  • 1 — Включено.

use_skip_indexes_if_final

Тип: Bool

Значение по умолчанию: 0

Контролирует, используются ли индексы пропуска при выполнении запроса с FINAL модификатором.

По умолчанию эта настройка отключена, поскольку индексы пропуска могут исключать строки (гранулы), содержащие последние данные, что может привести к некорректным результатам. Когда включено, индексы пропуска применяются даже с FINAL модификатором, потенциально повышая производительность, но с риском пропуска последних обновлений.

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

  • 0 — Отключено.
  • 1 — Включено.

use_structure_from_insertion_table_in_table_functions

Тип: UInt64

Значение по умолчанию: 2

Использовать структуру из таблицы вставки вместо вывода схемы из данных. Возможные значения: 0 - отключено, 1 - включено, 2 - авто

use_uncompressed_cache

Тип: Bool

Значение по умолчанию: 0

Использовать ли кэш не сжатых блоков. Принимает 0 или 1. По умолчанию, 0 (отключено). Использование кэша не сжатых данных (только для таблиц семейства MergeTree) может значительно снизить задержку и увеличить пропускную способность при работе с большим количеством коротких запросов. Включите этот параметр для пользователей, которые отправляют частые короткие запросы. Также обратите внимание на параметр конфигурации uncompressed_cache_size (устанавливается только в конфигурационном файле) – размер кэша не сжатых блоков. По умолчанию 8 ГиБ. Кэш не сжатых данных заполняется по мере необходимости, и наименее используемые данные автоматически удаляются.

Для запросов, которые читают хотя бы несколько больших объемов данных (миллион строк или более), кэш не сжатых данных автоматически отключается, чтобы сэкономить место для действительно маленьких запросов. Это означает, что вы можете всегда оставлять настройку 'use_uncompressed_cache' в значении 1.

use_variant_as_common_type

Тип: Bool

Значение по умолчанию: 0

Позволяет использовать тип Variant как результирующий тип для функций if/multiIf/array/map, когда нет общего типа для типов аргументов.

Пример:

use_with_fill_by_sorting_prefix

Тип: Bool

Значение по умолчанию: 1

Столбцы, предшествующие столбцам WITH FILL в предложении ORDER BY, формируют префикс сортировки. Строки с разными значениями в префиксе сортировки заполняются независимо.

validate_enum_literals_in_operators

Тип: Bool

Значение по умолчанию: 0

Если включено, проверяет литералы перечисления в операторах, таких как IN, NOT IN, ==, !=, на соответствие типу перечисления и выбрасывает исключение, если литерал не является допустимым значением перечисления.

validate_mutation_query

Тип: Bool

Значение по умолчанию: 1

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

Изменяйте эту настройку только, если вы встречаете ошибку, несовместимую с предыдущими версиями.

validate_polygons

Тип: Bool

Значение по умолчанию: 1

Включает или отключает выброс исключения в функции pointInPolygon, если полигон самопересекающийся или самокасательный.

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

  • 0 — Выброс исключения отключен. pointInPolygon принимает недопустимые полигоны и возвращает возможно некорректные результаты для них.
  • 1 — Выброс исключения включен.

wait_changes_become_visible_after_commit_mode

Experimental feature. Learn more.

Тип: TransactionsWaitCSNMode

Значение по умолчанию: wait_unknown

Ожидать, когда зафиксированные изменения станут фактически видимыми в последней моментальной копии.

wait_for_async_insert

Тип: Bool

Значение по умолчанию: 1

Если включено, ожидайте обработки асинхронной вставки.

wait_for_async_insert_timeout

Тип: Секунды

Значение по умолчанию: 120

Тайм-аут для ожидания обработки асинхронной вставки.

wait_for_window_view_fire_signal_timeout

Experimental feature. Learn more.

Тип: Секунды

Значение по умолчанию: 10

Тайм-аут ожидания сигнала запуска (fire signal) с оконным представлением в обработке событий времени.

window_view_clean_interval

Experimental feature. Learn more.

Тип: Секунды

Значение по умолчанию: 60

Интервал очистки оконного представления в секундах для освобождения устаревших данных.

window_view_heartbeat_interval

Experimental feature. Learn more.

Тип: Секунды

Значение по умолчанию: 15

Интервал излучения в секундах для указания жизнеспособности запроса отслеживания.

workload

Тип: String

Значение по умолчанию: default

Имя рабочей нагрузки, которая будет использоваться для доступа к ресурсам.

write_through_distributed_cache

ClickHouse Cloud only

Тип: Bool

Значение по умолчанию: 0

Влияет только на ClickHouse Cloud. Разрешить запись в распределенный кэш (запись в s3 также будет выполняться через распределенный кэш).

zstd_window_log_max

Тип: Int64

Значение по умолчанию: 0

Позволяет выбрать максимальный журнал окна ZSTD (он не будет использоваться для MergeTree семейства).