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

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

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

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

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

allow_archive_path_syntax

Experimental feature. Learn more.

Тип: Bool

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

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

allow_asynchronous_read_from_io_pool_for_merge_tree

Тип: Bool

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

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

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

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

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

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

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

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

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

apply_mutations_on_fly

Тип: Bool

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

Если true, мутации (обновления и удаления), которые не материализованы в части данных, будут применяться при 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 blob, чтобы убедиться в успешности загрузки

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 blob.

azure_max_single_part_upload_size

Тип: UInt64

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

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

azure_max_single_read_retries

Тип: UInt64

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

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

azure_max_unexpected_write_error_retries

Тип: UInt64

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

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

azure_max_upload_part_size

Тип: UInt64

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

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

azure_min_upload_part_size

Тип: UInt64

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

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

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 blob.

azure_throw_on_zero_files_match

Тип: Bool

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

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

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

  • 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 blob.

azure_upload_part_size_multiply_parts_count_threshold

Тип: UInt64

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

Каждый раз, когда это количество частей загружается в хранилище Azure blob, 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 не воссоздает свою эфемерную "живую" ноду в 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, оператор CAST в тип 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

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

cloud_mode_engine

Тип: UInt64

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

Семейство движков, разрешённое в облаке.

  • 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

Совместимость игнорирования collation при создании таблицы

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

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

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, но набор результатов идентичен - логика Boolean не изменена:

Возможные значения: 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

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

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

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

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

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

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

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

default_materialized_view_sql_security

Тип: SQLSecurityType

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

Позволяет установить значение по умолчанию для параметра SQL SECURITY при создании материализованного представления. Подробнее о безопасности 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

Если включено, то в результате запроса 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

Если включено, виртуальные столбцы таблицы будут включены в результат запроса 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 или аналогичных ошибок. В этом случае повторная попытка не поможет (и это застрянет в распределённых отправках для таблицы), но отправка файлов из этого пакета по одному может привести к успешной вставке.

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

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

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

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

примечание

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

distributed_background_insert_timeout

Тип: UInt64

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

Таймаут для запроса вставки в распределённое. Настройка используется только с включенной синхронизацией 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. Окно для отправки подтверждения (ACK) для последовательности 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

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

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

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

  • 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 секунд

Управляет скоростью обнуления ошибок в распределённых таблицах. Если реплика недоступна в течение некоторого времени, накапливает 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 {#enable_adaptive_memory_spill_scheduler}
Experimental feature. Learn more.

Тип: Bool

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

Запуск процессора для сброса данных во внешнее хранилище адаптивно. Поддерживается grace join в настоящее время.

enable_blob_storage_log

Тип: Bool

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

Запись информации о операциях blob-хранилища в таблицу 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, то данные могут быть распарсены напрямую в столбцы с пользовательской сериализацией (например, Sparse) в соответствии с подсказками для сериализации, полученными из таблицы.

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

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

enable_sharing_sets_for_mutations

Тип: Bool

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

Позволяет делиться объектами набора 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

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

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

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

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

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

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

  • 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' возвращает (долгота, широта), если установлено в true, иначе (широта, долгота).

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

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

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 символов.

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

Пример: 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

Если включено и запрос не находится в транзакции, он будет обёрнут внутри полной транзакции (начало + подтверждение или откат).

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 во время insert. Допустимое значение лежит в интервале [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 — Повторные попытки отключены

Значение по умолчанию в Cloud: 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 согласованность для получения более подробной информации.

Включает запись с кворумом.

  • Если 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 согласованность для получения более подробной информации.

Включает или отключает параллелизм для запросов 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 предоставляет опцию алгorithms, которая предоставляет эффективные сложные соединения при ограниченном использовании памяти.

Первая фаза grace join читает правую таблицу и разбивает её на N корзин в зависимости от хэш-значения ключевых столбцов (первоначально, N равно grace_hash_join_initial_buckets). Это делается таким образом, чтобы каждая корзина могла быть обработана независимо. Строки из первой корзины добавляются во встроенную хэш-таблицу, в то время как остальные сохраняются на диск. Если хэш-таблица превышает лимит памяти (например, установлено max_bytes_in_join), количество корзин увеличивается и назначается корзина для каждой строки. Любые строки, которые не принадлежат текущей корзине, сбрасываются и переназначаются.

Поддерживает INNER/LEFT/RIGHT/FULL ALL/ANY JOIN.

  • hash

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

При использовании алгоритма hash правая часть JOIN загружается в ОЗУ.

  • parallel_hash

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

При использовании алгоритма 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.

  • auto

Когда установлено значение auto, сначала пробуется хэш-соединение hash, и алгоритм переключается на другой, если нарушается лимит памяти.

  • full_sorting_merge

Алгоритм сортировочного слияния с полной сортировкой объединяемых таблиц перед соединением.

  • prefer_partial_merge

ClickHouse всегда старается использовать partial_merge соединение, если возможно, в противном случае используется hash. Устарело, то же самое, что и partial_merge,hash.

  • default (устарело)

Устаревшее значение, пожалуйста, не используйте больше. То же самое, что и direct,hash, т.е. попытаться использовать direct join и 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, выполняемых на диске.

Чем больше значение данной настройки, тем больше памяти RAM используется и тем меньше требуется ввода-вывода диска.

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

  • Любое положительное целое число, начиная с 2.

join_output_by_rowlist_perkey_rows_threshold

Тип: UInt64

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

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

join_overflow_mode

Тип: OverflowMode

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

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

join_to_sort_maximum_table_rows

Experimental feature. Learn more.

Тип: UInt64

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

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

join_to_sort_minimum_perkey_rows

Experimental feature. Learn more.

Тип: UInt64

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

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

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

Интервал передачи сигналов (heartbeat) в секундах для указания, что активный запрос жив.

load_balancing

Тип: LoadBalancing

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

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

ClickHouse поддерживает следующие алгоритмы выбора реплик:

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

Случайный (по умолчанию)

Количество ошибок подсчитывается для каждой реплики. Запрос отправляется на реплику с наименьшим количеством ошибок, и если таких несколько, то на любую из них. Недостатки: Близость сервера не учитывается; если у реплик разные данные, вы также получите разные данные.

Ближайшее имя хоста

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

Например, 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

Тип: Seconds

Значение по умолчанию: 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

Тип: Milliseconds

Значение по умолчанию: 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, который может быть записан в файловую систему хранилища. Эта настройка предотвращает проблемы с ОЗУ в случае неограниченного роста словаря. Все данные, которые не могут быть закодированы из-за ограничения на размер словаря, 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.

Тип: Milliseconds

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

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

materialize_skip_indexes_on_insert

Тип: Bool

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

Если INSERT'ы создают и сохраняют индексы пропуска. Если отключено, индексы пропуска будут создаваться и сохраняться во время слияний или по явному MATERIALIZE INDEX

materialize_statistics_on_insert

Тип: Bool

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

Если INSERT'ы создают и вставляют статистику. Если отключено, статистика будет создаваться и сохраняться во время слияний или по явному 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 MiB). Указание меньшего размера блока обычно приводит к небольшому уменьшению коэффициента сжатия, скорость сжатия и декомпрессии немного повышается за счёт локальности кэша, и использование памяти уменьшается.

примечание

Это настройка уровня эксперта, и вы не должны изменять её, если только не начинаете работу с 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

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

Если значение превышено, сервер выбрасывает исключение.

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

  • Положительное целое число.
  • 0 — Неограниченная глубина.

max_download_buffer_size

Тип: UInt64

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

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

max_download_threads

Тип: MaxThreads

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

Максимальное количество потоков для загрузки данных (например, для движка URL).

max_estimated_execution_time

Тип: Seconds

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

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

max_execution_speed

Тип: UInt64

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

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

max_execution_speed_bytes

Тип: UInt64

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

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

max_execution_time

Тип: Seconds

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

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

max_execution_time_leaf

Тип: Seconds

Значение по умолчанию: 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 перенаправлений. Обеспечивает дополнительные меры безопасности для предотвращения ситуации, при которой злонамеренный сервер перенаправляет ваши запросы на неожиданные сервисы.

Это происходит, когда внешний сервер перенаправляет на другой адрес, но этот адрес оказывается внутренним для инфраструктуры компании, и, отправив HTTP-запрос на внутренний сервер, вы можете запросить внутренний API из внутренней сети, обходя аутентификацию, или даже обращаться к другим сервисам, таким как Redis или Memcached. Когда у вас нет внутренней инфраструктуры (включая что-то работающее на вашем localhost), или вы доверяете серверу, безопасно разрешить перенаправления. Однако помните, что если URL использует HTTP вместо HTTPS, вы должны доверять не только удалённому серверу, но и вашему провайдеру и каждой сети посередине.

max_hyperscan_regexp_length

Тип: UInt64

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

Определяет максимальную длину для каждого регулярного выражения в функциях многоразового поиска hyperscan.

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

  • Положительное целое число.
  • 0 - Длина не ограничена.

Пример

Запрос:

Результат:

Запрос:

Результат:

См. также

max_hyperscan_regexp_total_length

Тип: UInt64

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

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

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

  • Положительное целое число.
  • 0 - Длина не ограничена.

Пример

Запрос:

Результат:

Запрос:

Результат:

См. также

max_insert_block_size

Тип: UInt64

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

Размер блоков (в количестве строк) для формирования при вставке в таблицу. Эта настройка применяется только в тех случаях, когда сервер формирует блоки. Например, для INSERT через HTTP интерфейс сервер разбирает формат данных и формирует блоки заданного размера. Однако при использовании clickhouse-client клиент сам разбирает данные, и настройка 'max_insert_block_size' на сервере не влияет на размер вставляемых блоков. Настройка также не имеет цели при использовании INSERT SELECT, так как данные вставляются с использованием тех же блоков, которые сформированы после SELECT.

Значение по умолчанию немного больше, чем max_block_size. Причина в том, что определённые движки таблиц (*MergeTree) формируют часть данных на диске для каждого вставляемого блока, что является достаточно большой сущностью. Аналогично, таблицы *MergeTree сортируют данные при вставке, и достаточно большой размер блока позволяет сортировать больше данных в ОЗУ.

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) RAM) и не затрагиваются этим ограничением.

примечание

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

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

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

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

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'.

Для запросов, которые завершаются быстро из-за 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 с использованием trace_type '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

Использовать ли только размер столбцов prewhere для определения размера задачи чтения.

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

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

ClickHouse использует эту настройку при чтении данных из таблиц. Если общий объём памяти всех данных, которые нужно прочитать, превышает min_bytes_to_use_direct_io байт, тогда ClickHouse читает данные с диска хранения с опцией O_DIRECT.

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

  • 0 — Прямой ввод-вывод отключён.
  • Положительное целое число.

min_bytes_to_use_mmap_io

Тип: UInt64

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

Это экспериментальная настройка. Устанавливает минимальное количество памяти для чтения больших файлов без копирования данных из ядра в пространство пользователя. Рекомендуемый порог составляет около 64 МБ, потому что mmap/munmap медленный. Это имеет смысл только для больших файлов и помогает только в том случае, если данные находятся в кэше страниц.

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

  • Положительное целое число.
  • 0 — Большие файлы читаются только с копированием данных из ядра в пространство пользователя.

min_chunk_bytes_for_parallel_parsing

Тип: NonZeroUInt64

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

  • Тип: неотрицательное целое число
  • Значение по умолчанию: 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

Если истина, то постоянные недетерминированные функции (например, функция now()) выполняются на инициаторе и заменяются на литералы в запросах UPDATE и DELETE. Это помогает поддерживать синхронизацию данных на репликах при выполнении мутаций с постоянными недетерминированными функциями. Значение по умолчанию: ложь.

mutations_execute_subqueries_on_initiator

Тип: Bool

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

Если истина, то скалярные подзапросы выполняются на инициаторе и заменяются на литералы в запросах UPDATE и DELETE. Значение по умолчанию: ложь.

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

Если изменяемая таблица содержит не менее указанного количества незавершённых мутаций, выбросить исключение 'Слишком много мутаций ...'. 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

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

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

  • 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 образуют префикс сортировки. Например, префикс ключа сортировки в MergeTree или клаузе 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 (причина в том, что однажды это может быть включено по умолчанию, и это будет работать правильно только если данные были вставлены через распределенную таблицу, т. е. данные распределены согласно ключу шардирования).

optimize_extract_common_expressions

Тип: Bool

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

Разрешить извлечение общих выражений из дизъюнкций в выражениях WHERE, PREWHERE, ON, HAVING и QUALIFY. Логическое выражение вроде (A AND B) OR (A AND C) можно переписать как A AND (B OR C), что может помочь в использовании:

  • индексов в простых фильтрующих выражениях
  • оптимизации cross to inner join

optimize_functions_to_subcolumns

Тип: Bool

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

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

Эти функции могут быть преобразованы:

  • length для чтения подтолстбца size0.
  • empty для чтения подтолстбца size0.
  • notEmpty для чтения подтолстбца size0.
  • isNull для чтения подтолстбца null.
  • isNotNull для чтения подтолстбца null.
  • count для чтения подтолстбца null.
  • mapKeys для чтения подтолстбца keys.
  • mapValues для чтения подтолстбца values.

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

  • 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

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

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

  • 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

Использовать приблизительное значение для оптимизации тривиального подсчёта для хранилищ, поддерживающих такую оценку, например, 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

Использовать ограничения для оптимизации запросов. По умолчанию ложь.

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

  • 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, эта настройка явно задаёт размер окна сжатия (степень двойки) и включает режим сжатия на дальние расстояния для 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

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

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, группирует блоки левой таблицы в более крупные для таблицы с левой стороны в частичном merge join. Использует до 2x указанной памяти на поток соединения.

partial_merge_join_rows_in_right_blocks

Тип: UInt64

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

Ограничивает размеры блоков данных для объединения правой стороны в алгоритме частичного merge join для 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

Включает или отключает использование оригинальных имён столбцов вместо псевдонимов в выражениях и клаузаx запроса. Это особенно важно, если псевдоним совпадает с именем столбца, см. Псевдонимы выражений. Включите эту настройку, чтобы сделать правила синтаксиса псевдонимов в 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

Включает/отключает предпочтительное использование локальной реплики при обработке распределённых запросов.

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

  • 1 — ClickHouse всегда отправляет запрос на локальную реплику, если она существует.
  • 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 попытается применить указанную проекцию в запросе.

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

  • строка: имя предпочитаемой проекции

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

Интервал в миллисекундах, с которым ведётся журнал метрик запросов для индивидуальных запросов.

Если установлено любое отрицательное значение, он примет значение collect_interval_milliseconds из настройки журнала метрики запросов или по умолчанию 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

Переключает оптимизацию уровня плана запроса, которая перемещает большие поддеревья плана запроса в объединение, чтобы обеспечить дальнейшие оптимизации. Действует только если настройка 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

Переключает оптимизацию уровня плана запроса, которая перемещает LIMIT'ы вниз в плане выполнения. Действует только если настройка 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), чтобы сделать seek, вместо чтения с игнорированием.

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 при восстановлении.

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 установлено в true.

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 consistency для получения дополнительной информации о поведении 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 значений в аргументах функции превышает порог короткозамкнутой оценки для NULL, система пропускает построчную оценку функции. Вместо этого она сразу возвращает NULL для всех строк, избегая ненужных вычислений.

short_circuit_function_evaluation_for_nulls_threshold

Тип: Double

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

Пороговое значение отношения значений NULL для выполнения функций с аргументами Nullable только на строках с ненулевыми значениями во всех аргументах. Применяется, когда включена настройка 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.

split_parts_ranges_into_intersecting_and_non_intersecting_final

Тип: Bool

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

Разделить диапазоны частей на пересекающиеся и непересекающиеся во время оптимизации FINAL.

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

Проходить по замороженным данным (каталог теней) в дополнение к актуальным данным таблицы при запросе 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.

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

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

use_hive_partitioning

Тип: Bool

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

Когда включено, ClickHouse обнаружит Hive-стиль разделения в пути (/name=value/) в табличных движках, подобных файлам File/S3/URL/HDFS/AzureBlobStorage и позволит использовать столбцы разделов в качестве виртуальных столбцов в запросе. Эти виртуальные столбцы будут иметь такие же имена, как в разделённом пути, но начиная с _.

use_iceberg_partition_pruning

Тип: Bool

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

Использовать 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

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

use_page_cache_with_distributed_cache

Тип: Bool

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

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

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' включенной.

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

Если установлено в true, ждать обработки асинхронной вставки.

wait_for_async_insert_timeout

Тип: Секунды

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

Тайм-аут ожидания обработки асинхронной вставки.

wait_for_window_view_fire_signal_timeout

Experimental feature. Learn more.

Тип: Секунды

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

Тайм-аут ожидания сигнала срабатывания window view в обработке событий по времени.

window_view_clean_interval

Experimental feature. Learn more.

Тип: Секунды

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

Интервал очистки window view в секундах для освобождения устаревших данных.

window_view_heartbeat_interval

Experimental feature. Learn more.

Тип: Секунды

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

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

workload

Тип: String

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

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

write_through_distributed_cache

ClickHouse Cloud only

Тип: Bool

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

Имеет эффект только в ClickHouse Cloud. Разрешает запись в распределённый кэш (запись в s3 также будет осуществляться распределённым кэшем).

zstd_window_log_max

Тип: Int64

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

Позволяет выбрать макс. окно лог ZSTD (не будет использоваться для MergeTree семейства).