Глобальные параметры сервера
Этот раздел содержит описания параметров сервера, которые не могут быть изменены на уровне сессии или запроса. Эти параметры хранятся в файле config.xml
на сервере ClickHouse. Для получения дополнительной информации о файлах конфигурации в ClickHouse см. "Файлы конфигурации".
Другие параметры описаны в разделе "Настройки".
Перед изучением параметров рекомендуется прочитать раздел Файлы конфигурации и обратить внимание на использование подстановок (атрибуты incl
и optional
).
allow_use_jemalloc_memory
Разрешает использование памяти jemalloc.
Тип: Bool
По умолчанию: 1
asynchronous_heavy_metrics_update_period_s
Период в секундах для обновления асинхронных метрик.
Тип: UInt32
По умолчанию: 120
asynchronous_metric_log
Включено по умолчанию в развертываниях ClickHouse Cloud.
Если этот параметр не включен по умолчанию в вашей среде, в зависимости от того, как был установлен ClickHouse, вы можете следовать инструкциям ниже, чтобы включить или отключить его.
Включение
Чтобы вручную включить сбор истории журналов асинхронной метрики system.asynchronous_metric_log
, создайте /etc/clickhouse-server/config.d/asynchronous_metric_log.xml
со следующим содержанием:
Отключение
Чтобы отключить параметр asynchronous_metric_log
, вам нужно создать следующий файл /etc/clickhouse-server/config.d/disable_asynchronous_metric_log.xml
со следующим содержанием:
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
asynchronous_metrics_update_period_s
Период в секундах для обновления асинхронных метрик.
Тип: UInt32
По умолчанию: 1
auth_use_forwarded_address
Использовать исходный адрес для аутентификации для клиентов, подключенных через прокси.
Этот параметр следует использовать с осторожностью, так как перенаправленные адреса могут быть легко подделаны - сервера, принимающие такую аутентификацию, не должны быть доступны напрямую, а только через надежный прокси.
Тип: Bool
По умолчанию: 0
background_buffer_flush_schedule_pool_size
Максимальное количество потоков, которое будет использоваться для выполнения операций сброса для таблиц с Buffer-engine в фоновом режиме.
Тип: UInt64
По умолчанию: 16
background_common_pool_size
Максимальное количество потоков, которое будет использоваться для выполнения различных операций (в основном сборки мусора) для таблиц с *MergeTree-engine в фоновом режиме.
Тип: UInt64
По умолчанию: 8
background_distributed_schedule_pool_size
Максимальное количество потоков, которое будет использоваться для выполнения распределенных отправок.
Тип: UInt64
По умолчанию: 16
background_fetches_pool_size
Максимальное количество потоков, которое будет использоваться для извлечения частей данных из другой реплики для таблиц с *MergeTree-engine в фоновом режиме.
Тип: UInt64
По умолчанию: 16
background_merges_mutations_concurrency_ratio
Устанавливает соотношение между количеством потоков и количеством фоновых слияний и мутаций, которые могут выполняться одновременно.
Например, если соотношение равно 2, а background_pool_size
установлено на 16, то ClickHouse может выполнять 32 фоновых слияния одновременно. Это возможно, потому что фоновые операции могут быть приостановлены и отложены. Это необходимо, чтобы дать малым слияниям больше приоритета для выполнения.
Вы можете только увеличить это соотношение во время работы. Для его уменьшения необходимо перезагрузить сервер.
Как и параметр background_pool_size
, background_merges_mutations_concurrency_ratio
может быть применен из профиля default
для обратной совместимости.
Тип: Float
По умолчанию: 2
background_merges_mutations_scheduling_policy
Политика, по которой выполняется планирование фоновых слияний и мутаций. Возможные значения: round_robin
и shortest_task_first
.
Алгоритм, используемый для выбора следующего слияния или мутации, которые будут выполнены пулом фоновых потоков. Политику можно изменить в режиме выполнения без перезагрузки сервера. Она может быть применена из профиля default
для обратной совместимости.
Возможные значения:
round_robin
— Каждое параллельное слияние и мутация выполняются по методу round-robin, чтобы обеспечить отсутствие голодания. Мелкие слияния завершаются быстрее, чем крупные, просто потому что у них меньше блоков для слияния.shortest_task_first
— Всегда выполняйте более мелкое слияние или мутацию. Слияния и мутации получают приоритеты в зависимости от их результирующего размера. Слияния с меньшими размерами строго предпочтительнее по сравнению с более крупными. Эта политика обеспечивает максимально быстрое слияние небольших частей, но может привести к бесконечному голоданию больших слияний в партициях, сильно перегруженныхINSERT
.
Тип: String
По умолчанию: round_robin
background_message_broker_schedule_pool_size
Максимальное количество потоков, которое будет использоваться для выполнения фоновых операций для обмена сообщениями.
Тип: UInt64
По умолчанию: 16
background_move_pool_size
Максимальное количество потоков, которое будет использоваться для перемещения частей данных на другой диск или том для таблиц *MergeTree-engine в фоновом режиме.
Тип: UInt64
По умолчанию: 8
background_schedule_pool_size
Максимальное количество потоков, которое будет использоваться для постоянного выполнения некоторых легковесных периодических операций для реплицированных таблиц, потоков Kafka и обновлений кэша DNS.
Тип: UInt64
По умолчанию: 512
backups
Настройки для резервных копий, используемые при выполнении BACKUP TO File()
.
Следующие настройки могут быть настроены с помощью подметок:
Параметр | Описание | По умолчанию |
---|---|---|
allowed_path | Путь для резервного копирования при использовании File() . Этот параметр должен быть установлен для использования File . Путь может быть относительным к каталогу экземпляра или абсолютным. | true |
remove_backup_files_after_failure | Если команда BACKUP завершится не удачно, ClickHouse попытается удалить файлы, уже скопированные в резервную копию, до сбоя, в противном случае он оставит скопированные файлы как есть. | true |
Этот параметр по умолчанию настроен как:
backup_threads
Максимальное количество потоков для выполнения запросов BACKUP
.
Тип: UInt64
По умолчанию: 16
backups_io_thread_pool_queue_size
Максимальное количество заданий, которые могут быть запланированы в пуле потоков ввода-вывода резервных копий. Рекомендуется оставить эту очередь без ограничений из-за текущей логики резервного копирования S3.
Значение 0
(по умолчанию) означает неограниченно.
Тип: UInt64
По умолчанию: 0
bcrypt_workfactor
Фактор работы для типа аутентификации bcrypt_password, который использует Алгоритм Bcrypt.
По умолчанию: 12
cache_size_to_ram_max_ratio
Установите максимум отношения размера кеша к ОЗУ. Позволяет уменьшить размер кеша на системах с низкой памятью.
Тип: Double
По умолчанию: 0.5
concurrent_threads_soft_limit_num
Максимальное количество потоков обработки запросов, не учитывая потоки для получения данных с удаленных серверов, которые разрешены для обработки всех запросов. Это не жесткий лимит. В случае достижения лимита запрос все равно получит как минимум один поток для выполнения. Запрос может увеличить желаемое количество потоков во время выполнения, если доступны дополнительные потоки.
Значение 0
(по умолчанию) означает неограниченно.
Тип: UInt64
По умолчанию: 0
concurrent_threads_soft_limit_ratio_to_cores
То же самое, что и concurrent_threads_soft_limit_num
, но с соотношением к ядрам.
Тип: UInt64
По умолчанию: 0
concurrent_threads_scheduler
Политика, по которой выполняется планирование слотов ЦП, указанных в concurrent_threads_soft_limit_num
и concurrent_threads_soft_limit_ratio_to_cores
. Алгоритм, используемый для управления, как ограниченное количество слотов ЦП распределяется между параллельными запросами. Планировщик может быть изменен в режиме выполнения без перезагрузки сервера.
Тип: String
По умолчанию: round_robin
Возможные значения:
round_robin
— Каждый запрос с параметромuse_concurrency_control
= 1 выделяет доmax_threads
слотов ЦП. Один слот на поток. В условиях конкуренции слоты ЦП предоставляются запросам по методу round-robin. Обратите внимание, что первый слот предоставляется без условий, что может привести к нечестности и увеличению задержки запросов с высокимmax_threads
при наличии большого количества запросов сmax_threads
= 1.fair_round_robin
— Каждый запрос с параметромuse_concurrency_control
= 1 выделяет доmax_threads - 1
слотов ЦП. Вариацияround_robin
, которая не требует слот ЦП для первого потока каждого запроса. Таким образом, запросы сmax_threads
= 1 не требуют слота и не могут несправедливо распределить все слоты. Слоты не предоставляются без условий.
default_database
Имя базы данных по умолчанию.
Тип: String
По умолчанию: default
disable_internal_dns_cache
Отключает внутренний кэш DNS. Рекомендуется для работы ClickHouse в системах с часто изменяющейся инфраструктурой, такой как Kubernetes.
Тип: Bool
По умолчанию: 0
dns_cache_max_entries
Максимальное количество записей во внутреннем кэше DNS.
Тип: UInt64
По умолчанию: 10000
dns_cache_update_period
Период обновления внутреннего кэша DNS в секундах.
Тип: Int32
По умолчанию: 15
dns_max_consecutive_failures
Максимальное количество последовательных сбоев разрешения перед удалением хоста из кэша DNS ClickHouse.
Тип: UInt32
По умолчанию: 10
index_mark_cache_policy
Имя политики кэша меток индекса.
Тип: String
По умолчанию: SLRU
index_mark_cache_size
Максимальный размер кэша для меток индекса.
Значение 0
означает отключение.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.
Тип: UInt64
По умолчанию: 0
index_mark_cache_size_ratio
Размер защищенной очереди (в случае политики SLRU) в кэше меток индекса относительно общего размера кэша.
Тип: Double
По умолчанию: 0.5
index_uncompressed_cache_policy
Имя политики кэша для неконтируемых индексов.
Тип: String
По умолчанию: SLRU
index_uncompressed_cache_size
Максимальный размер кэша для неконтируемых блоков индексов MergeTree
.
Значение 0
означает отключение.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.
Тип: UInt64
По умолчанию: 0
index_uncompressed_cache_size_ratio
Размер защищенной очереди (в случае политики SLRU) в кэше неконтируемых индексов относительно общего размера кэша.
Тип: Double
По умолчанию: 0.5
skipping_index_cache_policy
Имя политики кэша пропускающего индекса.
Тип: String
По умолчанию: SLRU
skipping_index_cache_size
Размер кэша для пропускающих индексов. Ноль означает отключение.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.
Тип: UInt64
По умолчанию: 5368709120
(= 5 GiB)
skipping_index_cache_size_ratio
Размер защищенной очереди (в случае политики SLRU) в кэше пропускающих индексов относительно общего размера кэша.
Тип: Double
По умолчанию: 0.5
skipping_index_cache_max_entries
Максимальное количество записей в кэше пропускающего индекса.
Тип: UInt64
По умолчанию: 10000000
io_thread_pool_queue_size
Максимальное количество заданий, которые могут быть запланированы в пуле потоков ввода-вывода.
Значение 0
означает неограниченно.
Тип: UInt64
По умолчанию: 10000
mark_cache_policy
Имя политики кэша меток.
Тип: String
По умолчанию: SLRU
mark_cache_size
Максимальный размер кэша для меток (индекс MergeTree
семейства таблиц).
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.
Тип: UInt64
По умолчанию: 5368709120
mark_cache_size_ratio
Размер защищенной очереди (в случае политики SLRU) в кэше меток относительно общего размера кэша.
Тип: Double
По умолчанию: 0.5
max_backup_bandwidth_for_server
Максимальная скорость чтения в байтах в секунду для всех резервных копий на сервере. Ноль означает неограниченно.
Тип: UInt64
По умолчанию: 0
max_backups_io_thread_pool_free_size
Если количество бездействующих потоков в пуле потоков ввода-вывода резервных копий превышает max_backup_io_thread_pool_free_size
, ClickHouse освободит ресурсы, занятые бездействующими потоками, и уменьшит размер пула. Потоки могут быть созданы снова, если это необходимо.
Тип: UInt64
По умолчанию: 0
max_backups_io_thread_pool_size
ClickHouse использует потоки из пула потоков ввода-вывода резервных копий для выполнения операций ввода-вывода резервного копирования S3. max_backups_io_thread_pool_size
ограничивает максимальное количество потоков в пуле.
Тип: UInt64
По умолчанию: 1000
max_concurrent_queries
Лимит на общее количество одновременно выполняемых запросов. Обратите внимание, что также следует учитывать лимиты на запросы INSERT
и SELECT
, а также максимальное количество запросов для пользователей.
См. также:
Значение 0
(по умолчанию) означает неограниченно.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно. Запросы, которые уже выполняются, останутся неизменными.
Тип: UInt64
По умолчанию: 0
max_concurrent_insert_queries
Лимит на общее количество одновременно выполняемых запросов на вставку.
Значение 0
(по умолчанию) означает неограниченно.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно. Запросы, которые уже выполняются, останутся неизменными.
Тип: UInt64
По умолчанию: 0
max_concurrent_select_queries
Лимит на общее количество одновременно выполняемых запросов на выборку.
Значение 0
(по умолчанию) означает неограниченно.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно. Запросы, которые уже выполняются, останутся неизменными.
Тип: UInt64
По умолчанию: 0
max_waiting_queries
Лимит на общее количество одновременно ожидающих запросов.
Выполнение ожидающего запроса заблокировано, пока требуемые таблицы загружаются асинхронно (см. async_load_databases
.
Ожидающие запросы не учитываются при проверке лимитов, управляемых следующими настройками:
max_concurrent_queries
max_concurrent_insert_queries
max_concurrent_select_queries
max_concurrent_queries_for_user
max_concurrent_queries_for_all_users
Это исправление сделано для того, чтобы избежать достижения этих лимитов сразу после запуска сервера.
Значение 0
(по умолчанию) означает неограниченно.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно. Запросы, которые уже выполняются, останутся неизменными.
Тип: UInt64
По умолчанию: 0
max_connections
Максимальное количество соединений с сервером.
Тип: Int32
По умолчанию: 1024
max_io_thread_pool_free_size
Если количество бездействующих потоков в пуле потоков ввода-вывода превышает max_io_thread_pool_free_size
, ClickHouse освободит ресурсы, занятые бездействующими потоками, и уменьшит размер пула. Потоки могут быть созданы снова, если это необходимо.
Тип: UInt64
По умолчанию: 0
max_io_thread_pool_size
ClickHouse использует потоки из пула потоков ввода-вывода для выполнения некоторых операций ввода-вывода (например, для взаимодействия с S3). max_io_thread_pool_size
ограничивает максимальное количество потоков в пуле.
Тип: UInt64
По умолчанию: 100
max_local_read_bandwidth_for_server
Максимальная скорость локальных чтений в байтах в секунду.
Значение 0
означает неограниченно.
Тип: UInt64
По умолчанию: 0
max_local_write_bandwidth_for_server
Максимальная скорость локальных записей в байтах в секунду.
Значение 0
означает неограниченно.
Тип: UInt64
По умолчанию: 0
max_partition_size_to_drop
Ограничение на удаление партиций.
Если размер таблицы MergeTree превышает max_partition_size_to_drop
(в байтах), вы не можете удалить партицию с помощью запроса DROP PARTITION.
Эта настройка не требует перезагрузки сервера ClickHouse для применения. Другой способ отключить ограничение - создать файл <clickhouse-path>/flags/force_drop_table
.
Значение 0
означает, что вы можете удалять партиции без каких-либо ограничений.
Это ограничение неRestricts таблицы drop и truncate table, см. max_table_size_to_drop
Пример
Тип: UInt64
По умолчанию: 50
max_remote_read_network_bandwidth_for_server
Максимальная скорость обмена данными по сети в байтах в секунду для чтения.
Значение 0
(по умолчанию) означает неограниченно.
Тип: UInt64
По умолчанию: 0
max_remote_write_network_bandwidth_for_server
Максимальная скорость обмена данными по сети в байтах в секунду для записи.
Значение 0
(по умолчанию) означает неограниченно.
Тип: UInt64
По умолчанию: 0
max_server_memory_usage
Лимит на общее использование памяти.
Значение max_server_memory_usage
по умолчанию вычисляется как memory_amount * max_server_memory_usage_to_ram_ratio
.
Значение 0
(по умолчанию) означает неограниченно.
Тип: UInt64
По умолчанию: 0
max_server_memory_usage_to_ram_ratio
То же самое, что и max_server_memory_usage
, но в соотношении к физической ОЗУ. Позволяет уменьшить использование памяти на системах с низкой памятью.
На хостах с низкой ОЗУ и свопом, возможно, необходимо задать значение max_server_memory_usage_to_ram_ratio
больше 1.
Значение 0
означает неограниченно.
Тип: Double
По умолчанию: 0.9
max_build_vector_similarity_index_thread_pool_size
Максимальное количество потоков для создания векторных индексов.
Значение 0
означает все ядра.
Тип: UInt64
По умолчанию: 16
cgroups_memory_usage_observer_wait_time
Интервал в секундах, в течение которого максимальное разрешенное потребление памяти сервером настраивается соответствующим порогом в cgroups.
Чтобы отключить наблюдатель cgroup, установите это значение в 0
.
Смотрите настройки:
Тип: UInt64
По умолчанию: 15
cgroup_memory_watcher_hard_limit_ratio
Указывает "жесткий" порог потребления памяти процесса сервера в соответствии с cgroups, после которого максимальное потребление памяти сервера настраивается на значение порога.
Смотрите настройки:
Тип: Double
По умолчанию: 0.95
cgroup_memory_watcher_soft_limit_ratio
Указывает "мягкий" порог потребления памяти процесса сервера в соответствии с cgroups, после которого арены в jemalloc очищаются.
Смотрите настройки:
Тип: Double
По умолчанию: 0.9
max_database_num_to_warn
Если количество подключенных баз данных превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
По умолчанию: 1000
max_table_num_to_warn
Если количество подключенных таблиц превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
По умолчанию: 5000
max_view_num_to_warn
Если количество подключенных представлений превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
Тип: UInt64
По умолчанию: 10000
max_dictionary_num_to_warn
Если количество подключенных словарей превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
Тип: UInt64
По умолчанию: 1000
max_part_num_to_warn
Если количество активных частей превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
Тип: UInt64
По умолчанию: 100000
max_table_num_to_throw
Если количество таблиц больше этого значения, сервер вызовет исключение.
Следующие таблицы не учитываются:
- представление
- удаленный
- словарь
- системный
Учитываются только таблицы для движков баз данных:
- Atomic
- Обычный
- Реплицированный
- Ленивый
Значение 0
означает отсутствие ограничения.
Пример
Тип: UInt64
По умолчанию: 0
max_replicated_table_num_to_throw
Если количество реплицированных таблиц превышает это значение, сервер вызовет исключение.
Учитываются только таблицы для движков баз данных:
- Atomic
- Обычный
- Реплицированный
- Ленивый
Значение 0
означает отсутствие ограничения.
Пример
Тип: UInt64
По умолчанию: 0
max_dictionary_num_to_throw
Если количество словарей превышает это значение, сервер вызовет исключение.
Учитываются только таблицы для движков баз данных:
- Atomic
- Обычный
- Реплицированный
- Ленивый
Значение 0
означает отсутствие ограничения.
Пример
Тип: UInt64
По умолчанию: 0
max_view_num_to_throw
Если количество представлений превышает это значение, сервер вызовет исключение.
Учитываются только таблицы для движков баз данных:
- Atomic
- Обычный
- Реплицированный
- Ленивый
Значение 0
означает отсутствие ограничения.
Пример
Тип: UInt64
По умолчанию: 0
max_database_num_to_throw
Если количество баз данных превышает это значение, сервер вызовет исключение.
Значение 0
(по умолчанию) означает отсутствие ограничения.
Пример
Тип: UInt64
По умолчанию: 0
max_temporary_data_on_disk_size
Максимальное количество хранилища, которое может быть использовано для внешней агрегации, соединений или сортировки. Запросы, которые превышают этот лимит, завершатся с исключением.
Значение 0
означает неограниченно.
См. также:
Тип: UInt64
По умолчанию: 0
max_thread_pool_free_size
Если количество бездействующих потоков в Глобальном пуле потоков больше, чем max_thread_pool_free_size
, то ClickHouse освобождает ресурсы, занятые некоторыми потоками, и размер пула уменьшается. Потоки могут быть созданы снова, если это необходимо.
Пример
Тип: UInt64
По умолчанию: 0
max_thread_pool_size
ClickHouse использует потоки из Глобального пула потоков для обработки запросов. Если нет свободного потока для обработки запроса, то в пуле создается новый поток. max_thread_pool_size
ограничивает максимальное количество потоков в пуле.
Пример
Тип: UInt64
По умолчанию: 10000
mmap_cache_size
Устанавливает размер кэша (в байтах) для отображаемых файлов. Эта настройка позволяет избежать частых вызовов открытия/закрытия (которые очень затратные из-за последующих ошибок страницы) и повторно использовать отображения из нескольких потоков и запросов. Значение настройки — это количество отображаемых областей (обычно равно количеству отображаемых файлов).
Объем данных в отображаемых файлах можно отслеживать в следующих системных таблицах с использованием следующих метрик:
Системная таблица | Метрика |
---|---|
system.metrics и system.metric_log | MMappedFiles и MMappedFileBytes |
system.asynchronous_metrics_log | MMapCacheCells |
system.events , system.processes , system.query_log , system.query_thread_log , system.query_views_log | CreatedReadBufferMMap , CreatedReadBufferMMapFailed , MMappedFileCacheHits , MMappedFileCacheMisses |
Объем данных в отображаемых файлах не потребляет память напрямую и не учитывается в использовании памяти запросами или сервером — потому что эту память можно сбросить, подобно кэшу страниц ОС. Кэш сбрасывается (файлы закрываются) автоматически при удалении старых частей в таблицах семейства MergeTree, также он может быть сброшен вручную с помощью запроса SYSTEM DROP MMAP CACHE
.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.
Тип: UInt64
По умолчанию: 1000
restore_threads
Максимальное количество потоков для выполнения запросов RESTORE.
Тип: UInt64
По умолчанию: 16
show_addresses_in_stack_traces
Если установлено в true, будут отображаться адреса в трассировках стека.
Тип: Bool
По умолчанию: 1
shutdown_wait_unfinished_queries
Если установлено в true, ClickHouse будет ожидать завершения запущенных запросов перед отключением.
Тип: Bool
По умолчанию: 0
table_engines_require_grant
Если установлено в true, пользователям требуется предоставление прав для создания таблицы с конкретным движком, например, GRANT TABLE ENGINE ON TinyLog to user
.
По умолчанию, для обеспечения обратной совместимости создание таблицы с конкретным движком игнорирует предоставление прав, однако вы можете изменить это поведение, установив значение в true.
Тип: Bool
По умолчанию: false
temporary_data_in_cache
С этим параметром временные данные будут храниться в кэше для конкретного диска.
В этом разделе вы должны указать имя диска с типом cache
.
В этом случае кэш и временные данные будут использовать одно и то же пространство, и кэш диска может быть сброшен для создания временных данных.
Можно использовать только один параметр для конфигурации хранения временных данных: tmp_path
, tmp_policy
, temporary_data_in_cache
.
Пример
Как кэш для local_disk
, так и временные данные будут храниться в /tiny_local_cache
на файловой системе, управляемой tiny_local_cache
.
Тип: String
По умолчанию: ""
thread_pool_queue_size
Максимальное количество задач, которые могут быть запланированы в глобальном пуле потоков. Увеличение размера очереди приводит к большему потреблению памяти. Рекомендуется поддерживать это значение равным max_thread_pool_size
.
Значение 0
означает неограниченное.
Пример
Тип: UInt64
По умолчанию: 10000
tmp_policy
Политика хранения временных данных. Для получения дополнительной информации см. MergeTree Table Engine документацию.
- Можно использовать только одну опцию для настройки хранения временных данных:
tmp_path
,tmp_policy
,temporary_data_in_cache
. move_factor
,keep_free_space_bytes
,max_data_part_size_bytes
игнорируются.- Политика должна содержать ровно один объем с локальными дисками.
Пример
Когда /disk1
заполнен, временные данные будут храниться на /disk2
.
Тип: String
По умолчанию: ""
uncompressed_cache_policy
Имя политики не сжатого кэша.
Тип: String
По умолчанию: SLRU
uncompressed_cache_size
Максимальный размер кэша (в байтах) для не сжатых данных, используемых движками таблиц из семейства MergeTree.
Существует один общий кэш для сервера. Память выделяется по мере необходимости. Кэш используется, если параметр use_uncompressed_cache включен.
Не сжатый кэш выгоден для очень коротких запросов в отдельных случаях.
Значение 0
означает отключено.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.
Тип: UInt64
По умолчанию: 0
uncompressed_cache_size_ratio
Размер защищенной очереди (в случае политики SLRU) в не сжатом кэше относительно общего размера кэша.
Тип: Double
По умолчанию: 0.5
builtin_dictionaries_reload_interval
Интервал в секундах перед перезагрузкой встроенных словарей.
ClickHouse перезагружает встроенные словари каждые x секунд. Это позволяет редактировать словари "на лету", не перезапуская сервер.
Пример
Тип: UInt64
По умолчанию: 3600
compression
Настройки сжатия данных для таблиц с движком MergeTree.
Мы рекомендуем не менять это, если вы только начали использовать ClickHouse.
Шаблон конфигурации:
Поля <case>
:
min_part_size
– Минимальный размер части данных.min_part_size_ratio
– Соотношение размера части данных к размеру таблицы.method
– Метод сжатия. Допустимые значения:lz4
,lz4hc
,zstd
,deflate_qpl
.level
– Уровень сжатия. См. Codecs.
Вы можете настроить несколько секций <case>
.
Действия, когда условия выполнены:
- Если часть данных соответствует установленному набору условий, ClickHouse использует указанный метод сжатия.
- Если часть данных соответствует нескольким наборам условий, ClickHouse использует первый подходящий набор условий.
Если для части данных не выполнено ни одно условие, ClickHouse использует сжатие lz4
.
Пример
encryption
Настраивает команду для получения ключа, который будет использоваться кодеками шифрования. Ключ (или ключи) должны быть записаны в переменные окружения или установлены в файле конфигурации.
Ключи могут быть хекс или строкой длиной 16 байтов.
Пример
Загрузка из конфигурации:
Не рекомендуется хранить ключи в файле конфигурации. Это небезопасно. Вы можете переместить ключи в отдельный файл конфигурации на безопасном диске и выделить символическую ссылку на этот файл конфигурации в папке config.d/
.
Загрузка из конфигурации, когда ключ в шестнадцатеричном формате:
Загрузка ключа из переменной окружения:
Здесь current_key_id
устанавливает текущий ключ для шифрования, а все указанные ключи можно использовать для расшифровки.
Каждый из этих методов можно применять для нескольких ключей:
Здесь current_key_id
показывает текущий ключ для шифрования.
Также пользователи могут добавить nonce, который должен иметь длину 12 байтов (по умолчанию процессы шифрования и расшифровки используют nonce, состоящий из нулевых байтов):
Или его можно задать в шестнадцатеричном формате:
Все вышеперечисленное может применяться к aes_256_gcm_siv
(но ключ должен быть длиной 32 байта).
error_log
По умолчанию отключен.
Включение
Чтобы вручную включить сбор истории ошибок system.error_log
, создайте файл /etc/clickhouse-server/config.d/error_log.xml
со следующим содержимым:
Отключение
Чтобы отключить настройку error_log
, необходимо создать следующий файл /etc/clickhouse-server/config.d/disable_error_log.xml
со следующим содержимым:
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
custom_settings_prefixes
Список префиксов для настраиваемых настроек. Префиксы должны быть разделены запятыми.
Пример
См. также
core_dump
Настраивает мягкий лимит для размера файла дампа ядра.
Жесткий лимит настраивается с помощью системных инструментов.
Пример
По умолчанию: 1073741824
database_atomic_delay_before_drop_table_sec
Задержка, в течение которой удалённая таблица может быть восстановлена с использованием команды UNDROP
. Если DROP TABLE
выполнен с модификатором SYNC
, настройка игнорируется.
По умолчанию для этой настройки стоит 480
(8 минут).
По умолчанию: 480
database_catalog_unused_dir_hide_timeout_sec
Параметр задачи, которая очищает мусор из директории store/
.
Если какая-либо подсистема не используется clickhouse-server
и эта директория не была изменена за последние
database_catalog_unused_dir_hide_timeout_sec
секунд, задача "скроет" эту директорию, убрав все права доступа. Это также работает для директорий, которые clickhouse-server
не ожидает увидеть внутри store/
.
Значение 0
означает "немедленно".
По умолчанию: 3600
(1 час)
database_catalog_unused_dir_rm_timeout_sec
Параметр задачи, которая очищает мусор из директории store/
.
Если какая-либо подсистема не используется clickhouse-server
, и она была ранее "скрыта"
(см. database_catalog_unused_dir_hide_timeout_sec)
и эта директория не была изменена за последние
database_catalog_unused_dir_rm_timeout_sec
секунд, задача удалит эту директорию.
Это также работает для директорий, которые clickhouse-server
не ожидает увидеть внутри store/
.
Значение 0
означает "никогда". Значение по умолчанию соответствует 30 дням.
По умолчанию: 2592000
(30 дней).
database_catalog_drop_error_cooldown_sec
В случае неудачного удаления таблицы ClickHouse будет ждать этот тайм-аут перед повторной попыткой операции.
Тип: UInt64
По умолчанию: 5
database_catalog_drop_table_concurrency
Размер пула потоков, используемого для удаления таблиц.
Тип: UInt64
По умолчанию: 16
database_catalog_unused_dir_cleanup_period_sec
Параметр задачи, которая очищает мусор из директории store/
.
Устанавливает период расписания задачи.
Значение 0
означает "никогда". Значение по умолчанию соответствует 1 дню.
По умолчанию: 86400
(1 день).
default_profile
Профиль настроек по умолчанию. Профили настроек расположены в файле, указанном в настройке user_config
.
Пример
default_replica_path
Путь к таблице в ZooKeeper.
Пример
default_replica_name
Имя реплики в ZooKeeper.
Пример
dictionaries_config
Путь к файлу конфигурации для словарей.
Путь:
- Укажите абсолютный путь или путь относительно файла конфигурации сервера.
- Путь может содержать подстановочные знаки * и ?.
См. также:
- "Словари".
Пример
user_defined_executable_functions_config
Путь к файлу конфигурации для выполняемых определённых пользователем функций.
Путь:
- Укажите абсолютный путь или путь относительно файла конфигурации сервера.
- Путь может содержать подстановочные знаки * и ?.
См. также:
Пример
dictionaries_lazy_load
Ленивая загрузка словарей.
- Если
true
, то каждый словарь загружается при первом использовании. Если загрузка не удалась, функция, использующая словарь, вызывает исключение. - Если
false
, тогда сервер загружает все словари при запуске.
Сервер будет ждать на старте, пока все словари закончат свою загрузку, прежде чем получать какие-либо соединения
(исключение: если wait_dictionaries_load_at_startup
установлен в false
).
Пример
format_schema_path
Путь к директории со схемами для входных данных, таких как схемы для формата CapnProto.
Пример
graphite
Отправка данных в Graphite.
Настройки:
host
– Сервер Graphite.port
– Порт на сервере Graphite.interval
– Интервал для отправки, в секундах.timeout
– Время ожидания для отправки данных, в секундах.root_path
– Префикс для ключей.metrics
– Отправка данных из таблицы system.metrics.events
– Отправка данных дельты, накопленных за период времени, из таблицы system.events.events_cumulative
– Отправка кумулятивных данных из таблицы system.events.asynchronous_metrics
– Отправка данных из таблицы system.asynchronous_metrics.
Вы можете настроить несколько <graphite>
клауз. Например, вы можете использовать это для отправки различных данных через разные интервалы.
Пример
graphite_rollup
Настройки для упрощения данных для Graphite.
Для получения дополнительной информации см. GraphiteMergeTree.
Пример
google_protos_path
Определяет директорию, содержащую proto файлы для типов Protobuf.
Пример:
http_handlers
Разрешает использовать настраиваемые HTTP-обработчики.
Чтобы добавить новый http-обработчик, просто добавьте новое <rule>
.
Правила проверяются сверху вниз, как определено, и первая совпавшая запустит обработчик.
Следующие настройки могут быть настроены с помощью подпунктов:
Подпункты | Определение |
---|---|
url | Для сопоставления URL запроса вы можете использовать префикс 'regex:' для использования рег. выражений (по желанию) |
methods | Для сопоставления методов запроса вы можете использовать запятые для разделения нескольких совпадений методов (по желанию) |
headers | Для сопоставления заголовков запроса сопоставьте каждый дочерний элемент (имя дочернего элемента — имя заголовка), вы можете использовать 'regex:' префикс для использования рег. выражений (по желанию) |
handler | Обработчик запроса |
empty_query_string | Проверить, что в URL нет строки запроса |
handler
содержит следующие настройки, которые могут быть настроены с помощью подпунктов:
Подпункты | Определение |
---|---|
url | Локация для перенаправления |
type | Поддерживаемые типы: static, dynamic_query_handler, predefined_query_handler, redirect |
status | Используйте с типом static, код состояния ответа |
query_param_name | Используйте с типом dynamic_query_handler, извлекает и выполняет значение, соответствующее значению <query_param_name> в параметрах HTTP-запроса |
query | Используйте с типом predefined_query_handler, выполняет запрос, когда вызывается обработчик |
content_type | Используйте с типом static, тип содержимого ответа |
response_content | Используйте с типом static, содержимое ответа, отправляемое клиенту, при использовании префикса 'file://' или 'config://', найти содержимое из файла или конфигурации, отправим клиенту |
Вместе с списком правил, вы можете указать <defaults/>
, которые укажут на включение всех стандартных обработчиков.
Пример:
http_port/https_port
Порт для подключения к серверу через HTTP(s).
- Если указан
https_port
, необходимо настроить OpenSSL. - Если указан
http_port
, конфигурация OpenSSL игнорируется, даже если она установлена.
Пример
http_server_default_response
Страница, которая отображается по умолчанию, когда вы обращаетесь к HTTP(s) серверу ClickHouse. По умолчанию значение — "Ok." (с переводом строки в конце)
Пример
Открывает https://tabix.io/
при доступе к http://localhost: http_port
.
http_options_response
Используется для добавления заголовков к ответу на HTTP-запрос OPTIONS
.
Метод OPTIONS
используется при выполнении предварительных запросов CORS.
Для получения дополнительной информации см. OPTIONS.
Пример:
hsts_max_age
Истекшее время для HSTS в секундах.
Значение 0
означает, что ClickHouse отключает HSTS. Если вы установите положительное число, HSTS будет включен, а max-age — это число, которое вы установили.
Пример
mlock_executable
Выполнить mlockall
после запуска, чтобы уменьшить задержку первых запросов и предотвратить вытеснение выполняемого файла clickhouse под высокой нагрузкой ввода-вывода.
Рекомендуется включить эту опцию, но она приведет к увеличению времени запуска до нескольких секунд. Имейте в виду, что эта настройка не будет работать без возможности "CAP_IPC_LOCK".
Пример
include_from
Путь к файлу с подстановками. Поддерживаются как XML, так и YAML форматы.
Для получения дополнительной информации см. раздел "Файлы конфигурации".
Пример
interserver_listen_host
Ограничение на хосты, которые могут обмениваться данными между серверами ClickHouse. Если используется Keeper, то такая же мера ограничения будет применяться для связи между разными экземплярами Keeper.
По умолчанию значение равно настройке listen_host
.
Пример
Тип:
По умолчанию:
interserver_http_port
Порт для обмена данными между серверами ClickHouse.
Пример
interserver_http_host
Имя хоста, которое могут использовать другие серверы для доступа к этому серверу.
Если опущено, оно определяется так же, как и команда hostname -f
.
Полезно для выхода за рамки конкретного сетевого интерфейса.
Пример
interserver_https_port
Порт для обмена данными между серверами ClickHouse через HTTPS
.
Пример
interserver_https_host
Похоже на interserver_http_host
, за исключением того, что это имя хоста может быть использовано другими серверами для доступа к этому серверу через HTTPS
.
Пример
interserver_http_credentials
Имя пользователя и пароль, используемые для подключения к другим серверам во время репликации. Кроме того, сервер аутентифицирует другие реплики с помощью этих учетных данных.
interserver_http_credentials
должны быть одинаковыми для всех реплик в кластере.
- По умолчанию, если раздел
interserver_http_credentials
пропущен, аутентификация не используется во время репликации. - Параметры
interserver_http_credentials
не относятся к учетным данным клиента ClickHouse конфигурации. - Эти учетные данные общие для репликации по
HTTP
иHTTPS
.
Следующие настройки могут быть настроены с помощью под-тегов:
user
— Имя пользователя.password
— Пароль.allow_empty
— Еслиtrue
, то другим репликам разрешается подключаться без аутентификации, даже если учетные данные установлены. Еслиfalse
, то соединения без аутентификации отклоняются. По умолчанию:false
.old
— Содержит старыеuser
иpassword
, используемые во время ротации учетных данных. Можно указать несколько секцийold
.
Ротация учетных данных
ClickHouse поддерживает динамическую ротацию учетных данных межсерверной аутентификации без остановки всех реплик одновременно для обновления их конфигурации. Учетные данные могут быть изменены в несколько шагов.
Чтобы включить аутентификацию, установите interserver_http_credentials.allow_empty
в true
и добавьте учетные данные. Это позволяет подключения с аутентификацией и без нее.
После настройки всех реплик установите allow_empty
в false
или удалите эту настройку. Это делает аутентификацию с новыми учетными данными обязательной.
Чтобы изменить существующие учетные данные, переместите имя пользователя и пароль в раздел interserver_http_credentials.old
и обновите user
и password
новыми значениями. В этот момент сервер использует новые учетные данные для подключения к другим репликам и принимает соединения как с новыми, так и со старыми учетными данными.
Когда новые учетные данные применяются ко всем репликам, старые учетные данные могут быть удалены.
keep_alive_timeout
Количество секунд, которые ClickHouse ждет входящих запросов перед закрытием соединения.
Пример
max_keep_alive_requests
Максимальное количество запросов через одно соединение keep-alive, после чего оно будет закрыто сервером ClickHouse.
Пример
ldap_servers
Список серверов LDAP с их параметрами подключения здесь для:
- использования их в качестве аутентификаторов для специализированных локальных пользователей, у которых указан механизм аутентификации 'ldap' вместо 'password'
- использования их в качестве удаленных пользовательских каталогов.
Следующие настройки могут быть настроены с помощью под-тегов:
Настройка | Описание |
---|---|
host | Имя хоста или IP сервера LDAP, этот параметр обязателен и не может быть пустым. |
port | Порт сервера LDAP, по умолчанию 636, если enable_tls установлен в true, иначе 389. |
bind_dn | Шаблон, используемый для построения DN для привязки. Результирующий DN будет построен путем замены всех подстрок \{user_name\} шаблона на фактическое имя пользователя во время каждой попытки аутентификации. |
user_dn_detection | Раздел с параметрами поиска LDAP для определения фактического DN пользователя, к которому подключен пользователь. Это в основном используется в фильтрах поиска для дальнейшего сопоставления ролей, когда сервер является Active Directory. Результирующий DN пользователя будет использоваться при замене подстрок \{user_dn\} где это разрешено. По умолчанию, DN пользователя устанавливается равным DN привязки, но после выполнения поиска будет обновлен до фактического обнаруженного значения DN пользователя. |
verification_cooldown | Период времени, в секундах, после успешной попытки привязки, в течение которого пользователь будет считаться успешно аутентифицированным для всех последующих запросов без обращения к серверу LDAP. Укажите 0 (по умолчанию), чтобы отключить кэширование и заставить обращаться к серверу LDAP для каждого запроса аутентификации. |
enable_tls | Флаг, включающий использование защищенного соединения с сервером LDAP. Укажите no для протокола в открытом виде (ldap:// ) (не рекомендуется). Укажите yes для протокола LDAP через SSL/TLS (ldaps:// ) (рекомендуется, по умолчанию). Укажите starttls для устаревшего протокола StartTLS (протокол в открытом виде (ldap:// ), обновленный до TLS). |
tls_minimum_protocol_version | Минимальная версия протокола SSL/TLS. Допустимые значения: ssl2 , ssl3 , tls1.0 , tls1.1 , tls1.2 (по умолчанию). |
tls_require_cert | Поведение проверки сертификата SSL/TLS. Допустимые значения: never , allow , try , demand (по умолчанию). |
tls_cert_file | Путь к файлу сертификата. |
tls_key_file | Путь к файлу ключа сертификата. |
tls_ca_cert_file | Путь к файлу сертификата CA. |
tls_ca_cert_dir | Путь к директории, содержащей сертификаты CA. |
tls_cipher_suite | допустимый набор шифров (в нотации OpenSSL). |
Настройка user_dn_detection
может быть настроена с помощью под-тегов:
Настройка | Описание |
---|---|
base_dn | Шаблон, используемый для построения базового DN для поиска LDAP. Результирующий DN будет построен путем замены всех подстрок \{user_name\} и '{bind_dn}' шаблона на фактическое имя пользователя и DN привязки во время поиска LDAP. |
scope | Область поиска LDAP. Допустимые значения: base , one_level , children , subtree (по умолчанию). |
search_filter | Шаблон, используемый для построения фильтра поиска для поиска LDAP. Результирующий фильтр будет построен путем замены всех подстрок \{user_name\} , \{bind_dn\} и \{base_dn\} шаблона на фактическое имя пользователя, DN привязки и базовый DN во время поиска LDAP. Заметьте, что специальные символы должны быть правильно экранированы в XML. |
Пример:
Пример (типичный Active Directory с настроенным обнаружением DN пользователя для дальнейшего сопоставления ролей):
listen_host
Ограничение на хосты, с которых могут поступать запросы. Если вы хотите, чтобы сервер отвечал на все из них, укажите ::
.
Примеры:
listen_try
Сервер не выйдет, если сети IPv6 или IPv4 недоступны во время попытки слушать.
Пример
listen_reuse_port
Разрешить нескольким серверам слушать на одном адресе: порту. Запросы будут направлены к случайному серверу операционной системой. Включение этой настройки не рекомендуется.
Пример
Тип:
По умолчанию:
listen_backlog
Очередь (размер очереди ожидающих соединений) сокета для прослушивания. Значение по умолчанию 4096
такое же, как у linux 5.4+).
Обычно это значение не нужно изменять, поскольку:
- Значение по умолчанию достаточно велико,
- Для принятия соединений клиентов сервер имеет отдельный поток.
Так что, даже если у вас TcpExtListenOverflows
(из nstat
) не равно нулю и этот счетчик растет для сервера ClickHouse, это не означает, что это значение нужно увеличить, так как:
- Обычно, если
4096
недостаточно, это показывает некоторые внутренние проблемы масштабирования ClickHouse, поэтому лучше сообщить о проблеме. - Это не означает, что сервер может обрабатывать больше соединений позже (и даже если бы и мог, в этот момент клиенты могут уйти или отключиться).
Пример
logger
Местоположение и формат лог-сообщений.
Ключи:
Ключ | Описание |
---|---|
level | Уровень логирования. Допустимые значения: none (отключить ведение журнала), fatal , critical , error , warning , notice , information ,debug , trace , test |
log | Путь к файлу журнала. |
errorlog | Путь к файлу журнала ошибок. |
size | Политика ротации: Максимальный размер файлов журнала в байтах. Как только размер файла журнала превышает этот лимит, он переименовывается и архивируется, и создается новый файл журнала. |
count | Политика ротации: Сколько исторических файлов журнала ClickHouse хранится максимум. |
stream_compress | Сжимать сообщения журнала с помощью LZ4. Установите в 1 или true , чтобы включить. |
console | Не записывать сообщения журнала в файлы журнала, а вместо этого выводить их в консоль. Установите в 1 или true , чтобы включить. По умолчанию 1 , если ClickHouse не работает в режиме демона, 0 в противном случае. |
console_log_level | Уровень журнала для консольного вывода. По умолчанию — level . |
formatting | Формат журнала для консольного вывода. В настоящее время поддерживается только json |
use_syslog | Также перенаправить вывод журнала в syslog. |
syslog_level | Уровень журнала для записи в syslog. |
Спецификаторы формата журнала
Имена файлов в путях log
и errorLog
поддерживают ниже перечисленные спецификаторы формата для результирующего имени файла (часть директории не поддерживает их).
Столбец "Пример" показывает вывод на 2023-07-06 18:32:07
.
Спецификатор | Описание | Пример |
---|---|---|
%% | Литеральный % | % |
%n | Символ новой строки | |
%t | Символ горизонтальной табуляции | |
%Y | Год в десятичном формате, например 2017 | 2023 |
%y | Последние 2 цифры года в десятичном формате (диапазон [00,99]) | 23 |
%C | Первые 2 цифры года в десятичном формате (диапазон [00,99]) | 20 |
%G | Четырехзначный неделя ISO 8601, т.е. год, который содержит указанную неделю. Обычно полезен только с %V | 2023 |
%g | Последние 2 цифры года, основанного на неделях ISO 8601, т.е. год, который содержит указанную неделю. | 23 |
%b | Сокращенное название месяца, например, окт (в зависимости от локали) | Jul |
%h | Синоним %@b | Jul |
%B | Полное название месяца, например, октябрь (в зависимости от локали) | July |
%m | Месяц в десятичном формате (диапазон [01,12]) | 07 |
%U | Номер недели в году в десятичном формате (воскресенье — первый день недели) (диапазон [00,53]) | 27 |
%W | Номер недели в году в десятичном формате (понедельник — первый день недели) (диапазон [00,53]) | 27 |
%V | Номер ISO 8601 недели (диапазон [01,53]) | 27 |
%j | Номер дня в году в десятичном формате (диапазон [001,366]) | 187 |
%d | День месяца в виде десятичного числа с нулями (диапазон [01,31]). Однозначное число предшествует нулю. | 06 |
%e | День месяца в виде десятичного числа с пробелами (диапазон [1,31]). Однозначное число предшествует пробелу. | 6 |
%a | Сокращенное название дня недели, например, пт (в зависимости от локали) | Thu |
%A | Полное название дня недели, например, пятница (в зависимости от локали) | Thursday |
%w | День недели в виде целого числа с воскресеньем как 0 (диапазон [0-6]) | 4 |
%u | День недели в десятичном формате, где понедельник — 1 (формат ISO 8601) (диапазон [1-7]) | 4 |
%H | Час в десятичном формате, 24-часовой формат (диапазон [00-23]) | 18 |
%I | Час в десятичном формате, 12-часовой формат (диапазон [01,12]) | 06 |
%M | Минута в десятичном формате (диапазон [00,59]) | 32 |
%S | Секунда в десятичном формате (диапазон [00,60]) | 07 |
%c | Стандартная строка даты и времени, например, Вс Окт 17 04:41:13 2010 (в зависимости от локали) | Thu Jul 6 18:32:07 2023 |
%x | Локализованное представление даты (в зависимости от локали) | 07/06/23 |
%X | Локализованное представление времени, например, 18:40:20 или 6:40:20 PM (в зависимости от локали) | 18:32:07 |
%D | Краткая дата MM/DD/YY, эквивалентная %m/%d/%y | 07/06/23 |
%F | Краткая дата YYYY-MM-DD, эквивалентная %Y-%m-%d | 2023-07-06 |
%r | Локализованное время 12-часового формата (в зависимости от локали) | 06:32:07 PM |
%R | Эквивалентно "%H:%M" | 18:32 |
%T | Эквивалентно "%H:%M:%S" (формат времени ISO 8601) | 18:32:07 |
%p | Локализованное обозначение a.m. или p.m. (в зависимости от локали) | PM |
%z | Смещение от UTC в формате ISO 8601 (например, -0430) или никаких символов, если информация о временной зоне недоступна | +0800 |
%Z | Название временной зоны, зависящее от локали, или аббревиатура, или никаких символов, если информация о временной зоне недоступна | Z AWST |
Пример
Чтобы выводить сообщения журнала только в консоли:
Переопределения по уровням
Уровень журнала отдельных имен журналов может быть переопределен. Например, чтобы отключить все сообщения логгеров "Backup" и "RBAC".
syslog
Чтобы дополнительно записывать сообщения журнала в syslog:
Ключи для <syslog>
:
Ключ | Описание |
---|---|
address | Адрес syslog в формате host\[:port\] . Если опущен, используется локальный демон. |
hostname | Имя хоста, с которого отправляются журналы (необязательно). |
facility | Ключевое слово системного журнала. Должен быть указан в верхнем регистре с префиксом "LOG_", например, LOG_USER , LOG_DAEMON , LOG_LOCAL3 и т.д. По умолчанию: LOG_USER , если указан address , иначе LOG_DAEMON . |
format | Формат сообщения журнала. Возможные значения: bsd и syslog. |
Форматы журнала
Вы можете указать формат журнала, который будет выводиться в консольном журнале. В настоящее время поддерживается только JSON.
Пример
Вот пример вывода JSON-журнала:
Чтобы включить поддержку JSON-журналов, используйте следующий фрагмент:
Переименование ключей для JSON-журналов
Имена ключей можно изменить, изменив значения тегов внутри тега <names>
. Например, чтобы изменить DATE_TIME
на MY_DATE_TIME
, вы можете использовать <date_time>MY_DATE_TIME</date_time>
.
Пропуск ключей для JSON-журналов
Свойства журнала могут быть пропущены, закомментировав свойство. Например, если вы не хотите, чтобы ваш журнал печатал query_id
, вы можете закомментировать тег <query_id>
.
send_crash_reports
Настройки для выбора отправки отчетов о сбоях команде разработчиков ClickHouse через Sentry.
Включение этой функции, особенно в предпроизводственных средах, высоко ценится.
Серверу потребуется доступ к публичному интернету через IPv4 (на момент написания поддержка IPv6 в Sentry не реализована) для правильной работы этой функции.
Ключи:
Ключ | Описание |
---|---|
enabled | Булевый флаг для включения функции, по умолчанию false . Установите значение true , чтобы разрешить отправку отчетов о сбоях. |
send_logical_errors | LOGICAL_ERROR — это как assert , это баг в ClickHouse. Этот булевый флаг включает отправку этих исключений в Sentry (по умолчанию: false ). |
endpoint | Вы можете переопределить URL-адрес конечной точки Sentry для отправки отчетов о сбоях. Это может быть отдельная учетная запись Sentry или ваш собственный экземпляр Sentry. Используйте синтаксис Sentry DSN. |
anonymize | Избегайте прикрепления имени хоста сервера к отчету о сбое. |
http_proxy | Настройка HTTP-прокси для отправки отчетов о сбоях. |
debug | Устанавливает клиент Sentry в режим отладки. |
tmp_path | Путь в файловой системе для временного состояния отчета о сбое. |
environment | Произвольное имя среды, в которой работает сервер ClickHouse. Оно будет упомянуто в каждом отчете о сбое. Значение по умолчанию - test или prod в зависимости от версии ClickHouse. |
Рекомендуемое использование
ssh_server
Публичная часть ключа хоста будет записана в файл known_hosts на стороне клиента SSH при первом подключении.
Конфигурации ключей хоста по умолчанию не активированы. Раскомментируйте конфигурации ключей хоста и укажите путь к соответствующему ssh ключу для их активации:
Пример:
tcp_ssh_port
Порт для SSH сервера, который позволяет пользователю подключаться и выполнять запросы интерактивно с использованием встроенного клиента через PTY.
Пример:
storage_configuration
Позволяет настраивать многодисковую конфигурацию хранения.
Конфигурация хранения следует приведенной ниже структуре:
Конфигурация дисков
Конфигурация disks
следует приведенной ниже структуре:
Подтеги выше определяют следующие настройки для disks
:
Настройка | Описание |
---|---|
<disk_name_N> | Имя диска, которое должно быть уникальным. |
path | Путь, по которому будут храниться данные сервера (каталоги data и shadow ). Должен заканчиваться на / |
keep_free_space_bytes | Размер резервируемого свободного места на диске. |
Порядок дисков не имеет значения.
Конфигурация политик
Подтеги выше определяют следующие настройки для policies
:
Настройка | Описание |
---|---|
policy_name_N | Имя политики. Имена политик должны быть уникальными. |
volume_name_N | Имя тома. Имена томов должны быть уникальными. |
disk | Диск, расположенный внутри тома. |
max_data_part_size_bytes | Максимальный размер части данных, которая может находиться на любом из дисков этого тома. Если в результате объединения размер части данных превысит max_data_part_size_bytes , часть будет записана на следующий том. В основном, эта функция позволяет сохранять новые / маленькие части на горячем (SSD) томе и перемещать их на холодный (HDD) том, когда они достигают большого размера. Не используйте эту опцию, если у политики только один том. |
move_factor | Доля доступного свободного пространства на томе. Если пространства становится меньше, данные начнут перемещаться на следующий том, если таковой имеется. Для передачи части данные сортируются по размеру от большего к меньшему (по убыванию), и выбираются части, общий размер которых достаточен для выполнения условия move_factor . Если общий размер всех частей недостаточен, будут перемещены все части. |
perform_ttl_move_on_insert | Отключает перемещение данных с истекшим временем жизни при вставке. По умолчанию (если включено), если мы вставляем кусок данных, который уже истек в соответствии с правилом перемещения по времени жизни, он немедленно перемещается на том / диске, указанном в правиле перемещения. Это может значительно замедлить вставку в случае, если целевой том / диск медленный (например, S3). Если отключено, истекшая часть данных записывается на резервный том и затем немедленно перемещается на том, указанном в правиле для истекшего времени жизни. |
load_balancing | Политика балансировки дисков, round_robin или least_used . |
least_used_ttl_ms | Устанавливает таймаут (в миллисекундах) для обновления доступного пространства на всех дисках (0 - всегда обновлять, -1 - никогда не обновлять, значение по умолчанию 60000 ). Обратите внимание, если диск используется только ClickHouse и не будет подвержен изменению размера файловой системы на лету, вы можете использовать значение -1 . Во всех остальных случаях это не рекомендуется, так как это в конечном итоге приведет к неправильному распределению пространства. |
prefer_not_to_merge | Отключает объединение частей данных на этом томе. Обратите внимание: это потенциально вредно и может вызвать замедление. Когда эта настройка включена (не делайте этого), объединение данных на этом томе запрещено (что плохо). Это позволяет контролировать, как ClickHouse взаимодействует с медленными дисками. Мы рекомендуем вообще не использовать это. |
volume_priority | Определяет приоритет (порядок), в котором заполняются тома. Чем меньше значение, тем выше приоритет. Параметры должны быть натуральными числами и охватывать диапазон от 1 до N (N - наибольшее значение параметра) без пробелов. |
Для volume_priority
:
- Если все тома имеют этот параметр, они приоритизируются в указанном порядке.
- Если только некоторые тома имеют его, тома, у которых его нет, имеют наименьший приоритет. Те, у которых он есть, приоритизируются в соответствии со значением тега, приоритет остальных определяется по порядку описания в конфигурационном файле относительно друг друга.
- Если ни один том не имеет этого параметра, их порядок определяется порядком описания в конфигурационном файле.
- Приоритет томов может не совпадать.
macros
Подстановки параметров для реплицированных таблиц.
Можно опустить, если реплицированные таблицы не используются.
Для получения дополнительной информации см. раздел Создание реплицированных таблиц.
Пример
replica_group_name
Имя группы реплик для базы данных Replicated.
Кластер, созданный базой данных Replicated, будет состоять из реплик в одной группе. DDL-запросы будут ждать только реплик в одной группе.
По умолчанию пусто.
Пример
Тип: строка
По умолчанию: ""
remap_executable
Настройка для перераспределения памяти для машинного кода ("текста") с использованием больших страниц.
По умолчанию: false
Эта функция является высокоэкспериментальной.
Пример:
max_open_files
Максимальное количество открытых файлов.
Рекомендуем использовать эту опцию в macOS, так как функция getrlimit()
возвращает неверное значение.
Пример
max_session_timeout
Максимальное время ожидания сеанса в секундах.
По умолчанию: 3600
Пример:
max_table_size_to_drop
Ограничение на удаление таблиц.
Если размер таблицы MergeTree превышает max_table_size_to_drop
(в байтах), вы не можете удалить ее с помощью запроса DROP
или запроса TRUNCATE
.
Значение 0
означает, что вы можете удалить все таблицы без каких-либо ограничений.
Для применения этой настройки не требуется перезапуск сервера ClickHouse. Другой способ отключить ограничение — создать файл <clickhouse-path>/flags/force_drop_table
.
Пример
По умолчанию: 50 ГБ.
background_pool_size
Устанавливает количество потоков, выполняющих фоновое объединение и мутации для таблиц с движками MergeTree.
- Эта настройка также может применяться при запуске сервера из конфигурации профиля
default
для обратной совместимости при запуске сервера ClickHouse. - Вы можете увеличивать количество потоков во время работы.
- Чтобы уменьшить количество потоков, необходимо перезапустить сервер.
- Настраивая эту настройку, вы управляете загрузкой ЦП и диска.
Меньший размер пула использует меньше ресурсов ЦП и диска, но фоновые процессы продвигаются медленнее, что в конечном итоге может повлиять на производительность запросов.
Прежде чем изменять его, пожалуйста, также ознакомьтесь с связанными настройками MergeTree, такими как:
number_of_free_entries_in_pool_to_lower_max_size_of_merge
.number_of_free_entries_in_pool_to_execute_mutation
.
Пример
Тип:
По умолчанию: 16.
merges_mutations_memory_usage_soft_limit
Устанавливает предел на то, сколько оперативной памяти разрешено использовать для выполнения операций объединения и мутации. Если ClickHouse достигает установленного предела, он не будет планировать новые фоновые операции объединения или мутации, но продолжит выполнять уже запланированные задачи.
Значение 0
означает неограниченное количество.
Пример
merges_mutations_memory_usage_to_ram_ratio
Значение по умолчанию merges_mutations_memory_usage_soft_limit
вычисляется как memory_amount * merges_mutations_memory_usage_to_ram_ratio
.
См. также:
По умолчанию: 0.5
.
async_load_databases
Асинхронная загрузка баз данных и таблиц.
- Если
true
, все не системные базы данных с движкамиOrdinary
,Atomic
иReplicated
будут загружены асинхронно после запуска сервера ClickHouse. См. таблицуsystem.asynchronous_loader
, настройки сервераtables_loader_background_pool_size
иtables_loader_foreground_pool_size
. Любой запрос, который пытается получить доступ к таблице, которая еще не загружена, будет ждать, пока эта таблица не будет запущена. Если задача загрузки не удалась, запрос выдаст ошибку (вместо отключения всего сервера в случаеasync_load_databases = false
). Таблица, которую ожидает хотя бы один запрос, будет загружена с более высоким приоритетом. DDL-запросы на базу данных будут ждать, пока эта база данных не будет запущена. Также рассмотрите возможность установки ограниченияmax_waiting_queries
для общего числа ожидающих запросов. - Если
false
, все базы данных загружаются при запуске сервера.
Пример
По умолчанию: false
.
async_load_system_database
Асинхронная загрузка системных таблиц. Полезно, если есть большое количество таблиц журналов и частей в базе данных system
. Независимо от настройки async_load_databases
.
- Если установлено в
true
, все системные базы данных с движкамиOrdinary
,Atomic
иReplicated
будут загружены асинхронно после запуска сервера ClickHouse. См. таблицуsystem.asynchronous_loader
, настройки сервераtables_loader_background_pool_size
иtables_loader_foreground_pool_size
. Любой запрос, который пытается получить доступ к системной таблице, которая еще не загружена, будет ждать, пока эта таблица не будет запущена. Таблица, которую ожидает хотя бы один запрос, будет загружена с более высоким приоритетом. Также рассмотрите возможность установки настройкиmax_waiting_queries
, чтобы ограничить общее количество ожидающих запросов. - Если установлено в
false
, системная база данных загружается перед запуском сервера.
Пример
По умолчанию: false
.
tables_loader_foreground_pool_size
Устанавливает количество потоков, выполняющих загрузочные задачи в фоновом пуле. Фоновый пул используется для загрузки таблицы синхронно перед запуском сервера на порту и для загрузки таблиц, которые ожидаются. Фоновый пул имеет более высокий приоритет, чем пул работы в фоновом режиме. Это означает, что никакая работа не начнется в фоновой группе, пока в фоновой группе выполняются рабочие задачи.
Значение 0
означает, что будут использоваться все доступные ЦП.
По умолчанию: 0
tables_loader_background_pool_size
Устанавливает количество потоков, выполняющих асинхронные загрузочные задачи в фоновом пуле. Фоновый пул используется для асинхронной загрузки таблиц после запуска сервера в случае, если нет запросов, ожидающих таблицу. Полезно поддерживать малое количество потоков в фоновом пуле, если существует много таблиц. Это зарезервирует ресурсы ЦП для одновременного выполнения запросов.
Значение 0
означает, что будут использоваться все доступные ЦП.
По умолчанию: 0
merge_tree
Тонкая настройка для таблиц в MergeTree.
Для получения дополнительной информации см. файл заголовка MergeTreeSettings.h.
Пример
metric_log
По умолчанию отключен.
Включение
Чтобы вручную включить сбор истории метрик system.metric_log
, создайте файл /etc/clickhouse-server/config.d/metric_log.xml
с следующим содержимым:
Отключение
Чтобы отключить настройку metric_log
, создайте следующий файл /etc/clickhouse-server/config.d/disable_metric_log.xml
с следующим содержимым:
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
latency_log
По умолчанию отключен.
Включение
Чтобы вручную включить сбор истории задержек system.latency_log
, создайте файл /etc/clickhouse-server/config.d/latency_log.xml
с следующим содержимым:
Отключение
Чтобы отключить настройку latency_log
, создайте следующий файл /etc/clickhouse-server/config.d/disable_latency_log.xml
с следующим содержимым:
replicated_merge_tree
Тонкая настройка для таблиц в ReplicatedMergeTree. Эта настройка имеет более высокий приоритет.
Для получения дополнительной информации см. файл заголовка MergeTreeSettings.h.
Пример
opentelemetry_span_log
Настройки для системной таблицы opentelemetry_span_log
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Пример:
part_log
Запись событий, связанных с MergeTree. Например, добавление или слияние данных. Вы можете использовать журнал для симуляции алгоритмов слияния и сравнения их характеристик. Вы можете визуализировать процесс слияния.
Запросы записываются в таблицу system.part_log, а не в отдельный файл. Вы можете настроить название этой таблицы в параметре table
(см. ниже).
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Пример
path
Путь к каталогу, содержащему данные.
Обязательный слэш в конце.
Пример
processors_profile_log
Настройки для системной таблицы processors_profile_log
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Значения по умолчанию:
Prometheus
Экспонирование данных метрик для сбора с Prometheus.
Настройки:
endpoint
– HTTP-эндпоинт для сбора метрик сервером Prometheus. Начинается с '/'.port
– Порт дляendpoint
.metrics
– Экспонировать метрики из таблицы system.metrics.events
– Экспонировать метрики из таблицы system.events.asynchronous_metrics
– Экспонировать текущие значения метрик из таблицы system.asynchronous_metrics.errors
- Экспонировать количество ошибок по кодам ошибок, произошедших с момента последней перезагрузки сервера. Эта информация также может быть получена из system.errors.
Пример
Проверка (замените 127.0.0.1
на IP-адрес или имя хоста вашего сервера ClickHouse):
query_log
Настройка для записи запросов, полученных с помощью параметра log_queries=1.
Запросы записываются в таблицу system.query_log, а не в отдельный файл. Вы можете изменить название таблицы в параметре table
(см. ниже).
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Если таблица не существует, ClickHouse создаст её. Если структура журнала запросов изменилась при обновлении сервера ClickHouse, таблица со старой структурой будет переименована, и новая таблица будет создана автоматически.
Пример
query_metric_log
По умолчанию отключен.
Включение
Чтобы вручную включить сбор истории метрик system.query_metric_log
, создайте /etc/clickhouse-server/config.d/query_metric_log.xml
со следующим содержимым:
Отключение
Чтобы отключить настройку query_metric_log
, вы должны создать следующий файл /etc/clickhouse-server/config.d/disable_query_metric_log.xml
с следующим содержимым:
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
query_cache
Конфигурация кэша запросов.
Доступные параметры:
Настройка | Описание | Значение по умолчанию |
---|---|---|
max_size_in_bytes | Максимальный размер кэша в байтах. 0 означает, что кэш запросов отключен. | 1073741824 |
max_entries | Максимальное количество результатов SELECT запросов, хранящихся в кэше. | 1024 |
max_entry_size_in_bytes | Максимальный размер в байтах, который может иметь результат SELECT запроса, чтобы быть сохранённым в кэше. | 1048576 |
max_entry_size_in_rows | Максимальное количество строк, которое могут содержать результаты SELECT запроса, чтобы быть сохранёнными в кэше. | 30000000 |
- Изменённые настройки вступают в силу немедленно.
- Данные для кэша запросов выделяются в DRAM. Если память ограничена, убедитесь, что установлено небольшое значение для
max_size_in_bytes
или полностью отключите кэш запросов.
Пример
query_thread_log
Настройка для записи потоков запросов, полученных с помощью параметра log_query_threads=1.
Запросы записываются в таблицу system.query_thread_log, а не в отдельный файл. Вы можете изменить название таблицы в параметре table
(см. ниже).
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Если таблица не существует, ClickHouse создаст её. Если структура журнала потоков запросов изменилась при обновлении сервера ClickHouse, таблица со старой структурой будет переименована, и новая таблица будет создана автоматически.
Пример
query_views_log
Настройка для записи представлений (живых, материализованных и т.д.), зависящих от запросов, полученных с помощью параметра log_query_views=1.
Запросы записываются в таблицу system.query_views_log, а не в отдельный файл. Вы можете изменить название таблицы в параметре table
(см. ниже).
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Если таблица не существует, ClickHouse создаст её. Если структура журнала представлений запросов изменилась при обновлении сервера ClickHouse, таблица со старой структурой будет переименована, и новая таблица будет создана автоматически.
Пример
text_log
Настройки для системной таблицы text_log для записи текстовых сообщений.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Дополнительно:
Настройка | Описание | Значение по умолчанию |
---|---|---|
level | Максимальный уровень сообщения (по умолчанию Trace ), который будет храниться в таблице. | Trace |
Пример
trace_log
Настройки для системной таблицы trace_log операции.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Файл конфигурации сервера по умолчанию config.xml
содержит следующий раздел настроек:
asynchronous_insert_log
Настройки для системной таблицы asynchronous_insert_log для записи асинхронных вставок.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Пример
crash_log
Настройки для системной таблицы crash_log операции.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Файл конфигурации сервера по умолчанию config.xml
содержит следующий раздел настроек:
custom_cached_disks_base_directory
Эта настройка определяет путь к кэшу для пользовательских (созданных из SQL) кэшированных дисков. custom_cached_disks_base_directory
имеет более высокий приоритет для пользовательских дисков, чем filesystem_caches_path
(который находится в filesystem_caches_path.xml
), и используется, если первый отсутствует. Путь настройки файлового кэша должен находиться внутри этого каталога, в противном случае будет выброшено исключение, предотвращающее создание диска.
Это не повлияет на диски, созданные в более ранней версии, для которой сервер был обновлен. В этом случае исключение не будет выброшено, чтобы сервер смог успешно запуститься.
Пример:
backup_log
Настройки для системной таблицы backup_log для записи операций BACKUP
и RESTORE
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Пример
blog_storage_log
Настройки для системной таблицы blob_storage_log
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Пример:
правила_маскирования_запросов
Правила на основе регулярных выражений, которые будут применяться к запросам, а также ко всем сообщениям журналов перед их сохранением в серверных журналах, таблицах system.query_log
, system.text_log
, system.processes
и в журналах, отправляемых клиенту. Это позволяет предотвратить утечку конфиденциальных данных из SQL-запросов, таких как имена, электронные адреса, персональные идентификаторы или номера кредитных карт в журналы.
Пример
Поля конфигурации:
Настройка | Описание |
---|---|
name | имя для правила (необязательно) |
regexp | регулярное выражение, совместимое с RE2 (обязательно) |
replace | строка замены для конфиденциальных данных (необязательно, по умолчанию - шесть звездочек) |
Правила маскирования применяются ко всему запросу (чтобы предотвратить утечки конфиденциальных данных из неправильных / непарсируемых запросов).
В таблице system.events
есть счетчик QueryMaskingRulesMatch
, который содержит общее количество совпадений правил маскирования запросов.
Для распределенных запросов каждый сервер должен быть настроен отдельно, в противном случае, подзапросы, передаваемые на другие узлы, будут храниться без маскировки.
удаленные_серверы
Конфигурация кластеров, используемых движком таблиц Distributed и функцией таблицы cluster
.
Пример
Для значения атрибута incl
смотрите раздел "Конфигурационные файлы".
Смотрите также
разрешенные_хосты_удаленного_url
Список хостов, которые разрешено использовать в движках хранения и функциях таблиц, связанных с URL.
При добавлении хоста с xml тегом \<host\>
:
- он должен быть указан точно так же, как в URL, так как имя проверяется перед разрешением DNS. Например:
<host>clickhouse.com</host>
- если порт явно указан в URL, то проверяется host:port целиком. Например:
<host>clickhouse.com:80</host>
- если хост указан без порта, то разрешен любой порт хоста. Например: если
<host>clickhouse.com</host>
указан, то разрешеныclickhouse.com:20
(FTP),clickhouse.com:80
(HTTP),clickhouse.com:443
(HTTPS) и т. д. - если хост указан как IP-адрес, то он проверяется так, как указан в URL. Например:
[2a02:6b8:a::a]
. - если имеются перенаправления и поддержка перенаправлений включена, то каждое перенаправление (поле location) проверяется.
Например:
часовой_пояс
Часовой пояс сервера.
Указывается как IANA идентификатор для часового пояса UTC или географического местоположения (например, Africa/Abidjan).
Часовой пояс необходим для конвертации между строковыми и DateTime форматами, когда поля DateTime выводятся в текстовый формат (печатаются на экране или в файл) и при получении DateTime из строки. Кроме того, часовой пояс используется в функциях, работающих с временем и датой, если они не получили часовой пояс в входных параметрах.
Пример
Смотрите также
tcp_порт
Порт для связи с клиентами по протоколу TCP.
Пример
tcp_порт_защищенный
TCP порт для защищенной связи с клиентами. Используйте его с настройками OpenSSL.
Значение по умолчанию
mysql_порт
Порт для связи с клиентами по протоколу MySQL.
- Положительные целые числа указывают номер порта для прослушивания
- Пустые значения используются для отключения связи с клиентами по протоколу MySQL.
Пример
postgresql_порт
Порт для связи с клиентами по протоколу PostgreSQL.
- Положительные целые числа указывают номер порта для прослушивания
- Пустые значения используются для отключения связи с клиентами по протоколу PostgreSQL.
Пример
tmp_путь
Путь на локальной файловой системе для хранения временных данных для обработки крупных запросов.
- Можно использовать только один параметр для настройки хранения временных данных:
tmp_path
,tmp_policy
,temporary_data_in_cache
. - Заключительный слэш обязателен.
Пример
url_scheme_mappers
Конфигурация для перевода сокращенных или символических префиксов URL в полные URL.
Пример:
путь_пользовательских_файлов
Директория с пользовательскими файлами. Используется в функции таблицы file(), fileCluster().
Пример
путь_пользовательских_скриптов
Директория с файлами пользовательских скриптов. Используется для выполняемых пользовательских функций Исполняемые пользовательские функции.
Пример
Тип:
Значение по умолчанию:
путь_пользовательских_определений
Директория с файлами пользовательских определений. Используется для SQL пользовательских функций SQL пользовательские функции.
Пример
конфигурация_пользователей
Путь к файлу, содержащему:
- Конфигурации пользователей.
- Права доступа.
- Профили настроек.
- Настройки квот.
Пример
проверка_tcp_информации_клиента
Определяет, включена ли валидация информации клиента при получении пакета запроса.
По умолчанию: false
:
улучшения_контроля_доступа
Настройки для опциональных улучшений в системе контроля доступа.
Настройка | Описание | Значение по умолчанию |
---|---|---|
users_without_row_policies_can_read_rows | Устанавливает, могут ли пользователи без разрешений на строки все равно читать строки с помощью запроса SELECT . Например, если есть два пользователя A и B, и политика строк определена только для A, то если эта настройка истина, пользователь B увидит все строки. Если эта настройка ложно, пользователь B не увидит никаких строк. | true |
on_cluster_queries_require_cluster_grant | Устанавливает, требуют ли запросы ON CLUSTER разрешение CLUSTER . | true |
select_from_system_db_requires_grant | Устанавливает, требует ли SELECT * FROM system.<table> каких-либо разрешений и может выполняться любым пользователем. Если установлено в true, то этот запрос требует GRANT SELECT ON system.<table> , как и для не системных таблиц. Исключения: некоторые системные таблицы (tables , columns , databases и некоторые постоянные таблицы, такие как one , contributors ) все еще доступны для всех; и если есть привилегия SHOW (например, SHOW USERS ), то соответствующая системная таблица (т. е. system.users ) будет доступна. | true |
select_from_information_schema_requires_grant | Устанавливает, требует ли SELECT * FROM information_schema.<table> каких-либо разрешений и может выполняться любым пользователем. Если установлено в true, то этот запрос требует GRANT SELECT ON information_schema.<table> , как и для обычных таблиц. | true |
settings_constraints_replace_previous | Устанавливает, будет ли ограничение в профиле настроек для некоторой настройки отменять действия предыдущего ограничения (определенного в других профилях) для этой настройки, включая поля, которые не установлены новым ограничением. Также включает тип ограничения changeable_in_readonly . | true |
table_engines_require_grant | Устанавливает, требует ли создание таблицы с конкретным движком таблицы разрешения. | false |
role_cache_expiration_time_seconds | Устанавливает количество секунд с момента последнего доступа, в течение которого роль хранится в кеше ролей. | 600 |
Пример:
s3queue_log
Настройки для системной таблицы s3queue_log
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Имя базы данных. | ||
table | Имя системной таблицы. | ||
engine | Определение двигателя MergeTree для системной таблицы. | Не может использоваться, если определены partition_by или order_by . Если не указано, по умолчанию выбирается MergeTree | |
partition_by | Пользовательский ключ партиционирования для системной таблицы. | Если для системной таблицы указан engine , параметр partition_by следует указывать непосредственно внутри 'engine' | |
ttl | Определяет TTL таблицы. | Если для системной таблицы указан engine , параметр ttl следует указывать непосредственно внутри 'engine' | |
order_by | Пользовательский ключ сортировки для системной таблицы. Не может использоваться, если определен engine . | Если для системной таблицы указан engine , параметр order_by следует указывать непосредственно внутри 'engine' | |
storage_policy | Имя политики хранения, используемой для таблицы (необязательно). | Если для системной таблицы указан engine , параметр storage_policy следует указывать непосредственно внутри 'engine' | |
settings | Дополнительные параметры, которые управляют поведением MergeTree (необязательно). | Если для системной таблицы указан engine , параметр settings следует указывать непосредственно внутри 'engine' | |
flush_interval_milliseconds | Интервал для выгрузки данных из буфера в памяти в таблицу. | 7500 | |
max_size_rows | Максимальный размер в строках для логов. Когда количество невыгруженных логов достигает max_size, логи сбрасываются на диск. | 1048576 | |
reserved_size_rows | Предварительно выделенный размер памяти в строках для логов. | 8192 | |
buffer_size_rows_flush_threshold | Порог для количества строк. Если порог достигнут, в фоне запускается выгрузка логов на диск. | max_size_rows / 2 | |
flush_on_crash | Устанавливает, следует ли сбрасывать логи на диск в случае сбоя. | false |
Значения по умолчанию:
ожидать_загрузки_словарей_при_старте
Эта настройка позволяет задать поведение, если dictionaries_lazy_load
установлено в false
.
(Если dictionaries_lazy_load
установлено в true
, эта настройка не влияет на ничего.)
Если wait_dictionaries_load_at_startup
установлено в false
, то сервер начнет загружать все словари при старте и будет принимать подключения параллельно с этой загрузкой.
Когда словарь впервые используется в запросе, запрос будет ждать, пока словарь будет загружен, если он еще не загружен.
Установка wait_dictionaries_load_at_startup
в false
может ускорить запуск ClickHouse, однако некоторые запросы могут выполняться медленнее (поскольку им придется ждать, пока загрузятся некоторые словари).
Если wait_dictionaries_load_at_startup
установлено в true
, то сервер будет ждать на старте, пока все словари закончат свою загрузку (успешно или нет) перед тем, как принимать подключения.
Пример
Значение по умолчанию: true
zookeeper
Содержит настройки, которые позволяют ClickHouse взаимодействовать с кластером ZooKeeper. ClickHouse использует ZooKeeper для хранения метаданных реплик, когда используются реплицируемые таблицы. Если реплицируемые таблицы не используются, этот раздел параметров можно опустить.
Следующие настройки могут быть настроены с помощью под-тегов:
Настройка | Описание |
---|---|
node | Узел ZooKeeper. Вы можете установить несколько узлов. Например, <node index="1"><host>example_host</host><port>2181</port></node> . Атрибут index указывает порядок узлов при попытке подключиться к кластеру ZooKeeper. |
session_timeout_ms | Максимальное время ожидания для клиентской сессии в миллисекундах. |
operation_timeout_ms | Максимальное время ожидания для одной операции в миллисекундах. |
root (необязательно) | Узел, который используется в качестве корня для узлов, используемых сервером ClickHouse. |
fallback_session_lifetime.min (необязательно) | Минимальный предел для срока службы сессии ZooKeeper для резервного узла, когда основной недоступен (балансировка нагрузки). Установлен в секундах. Значение по умолчанию: 3 часа. |
fallback_session_lifetime.max (необязательно) | Максимальный предел для срока службы сессии ZooKeeper для резервного узла, когда основной недоступен (балансировка нагрузки). Установлен в секундах. Значение по умолчанию: 6 часов. |
identity (необязательно) | Пользователь и пароль, требуемые ZooKeeper для доступа к запрашиваемым узлам. |
use_compression (необязательно) | Включает сжатие в протоколе Keeper, если установлено в true. |
Существует также настройка zookeeper_load_balancing
(необязательно), которая позволяет вам выбрать алгоритм для выбора узлов ZooKeeper:
Имя алгоритма | Описание |
---|---|
random | случайно выбирает один из узлов ZooKeeper. |
in_order | выбирает первый узел ZooKeeper, если он недоступен, то второй, и так далее. |
nearest_hostname | выбирает узел ZooKeeper с доменным именем, наиболее схожим с доменным именем сервера, имя хоста сравнивается с префиксом. |
hostname_levenshtein_distance | как nearest_hostname , но сравнивает имя хоста по методу расстояния Левенштейна. |
first_or_random | выбирает первый узел ZooKeeper, если он недоступен, то случайно выбирает один из оставшихся узлов ZooKeeper. |
round_robin | выбирает первый узел ZooKeeper, если происходит повторное соединение, выбирает следующий. |
Пример конфигурации
Смотрите также
- Репликация
- Руководство для программистов ZooKeeper
- Опциональная защищенная связь между ClickHouse и Zookeeper
использовать_минималистичный_заголовок_части_в_zookeeper
Метод хранения заголовков частей данных в ZooKeeper. Эта настройка применяется только к семейству MergeTree
. Она может быть указана:
Глобально в разделе merge_tree файла config.xml
ClickHouse использует настройку для всех таблиц на сервере. Вы можете изменить настройку в любое время. Существующие таблицы изменяют свое поведение, когда изменяется настройка.
Для каждой таблицы
При создании таблицы укажите соответствующую настройку движка. Поведение существующей таблицы с этой настройкой не изменяется, даже если глобальная настройка изменяется.
Возможные значения
0
— Функциональность отключена.1
— Функциональность включена.
Если use_minimalistic_part_header_in_zookeeper = 1
, то реплицированные таблицы компактно хранят заголовки частей данных, используя единственный znode
. Если таблица содержит много колонок, этот метод хранения значительно снижает объем данных, хранящихся в ZooKeeper.
После применения use_minimalistic_part_header_in_zookeeper = 1
, вы не сможете откатить сервер ClickHouse на версию, которая не поддерживает эту настройку. Будьте осторожны при обновлении ClickHouse на серверах в кластере. Не обновляйте все серверы одновременно. Безопаснее всего тестировать новые версии ClickHouse в тестовой среде или на нескольких серверах кластера.
Заголовки частей данных, уже хранящиеся с этой настройкой, не могут быть восстановлены до предыдущего (не компактного) представления.
Тип: UInt8
Значение по умолчанию: 0
распределенный_ddl
Управляет выполнением распределенных ddl запросов (CREATE
, DROP
, ALTER
, RENAME
) в кластере.
Работает только если включен ZooKeeper.
Настройки, которые можно настроить в <distributed_ddl>
включают:
Настройка | Описание | Значение по умолчанию |
---|---|---|
path | путь в Keeper для task_queue для DDL запросов | |
profile | профиль, используемый для выполнения DDL запросов | |
pool_size | сколько запросов ON CLUSTER могут выполняться одновременно | |
max_tasks_in_queue | максимальное количество задач, которые могут находиться в очереди. | 1,000 |
task_max_lifetime | удалить узел, если его возраст больше этого значения. | 7 * 24 * 60 * 60 (неделя в секундах) |
cleanup_delay_period | очистка начинается после получения нового события узла, если последняя очистка не была выполнена раньше, чем cleanup_delay_period секунд назад. | 60 секунд |
Пример
путь_контроля_доступа
Путь к папке, где сервер ClickHouse хранит конфигурации пользователей и ролей, созданные SQL командами.
Смотрите также
Тип: String
Значение по умолчанию: /var/lib/clickhouse/access/
.
разрешить_пароли_в_открытом_виде
Устанавливает, разрешены ли типы паролей в открытом виде (небезопасные).
Значение по умолчанию: 1
(тип authType plaintext_password разрешен)
разрешить_без_пароля
Устанавливает, разрешен ли небезопасный тип пароля без пароля.
Значение по умолчанию: 1
(тип authType no_password разрешен)
запрещать_неявный_без_пароля
Запрещает создание пользователя без пароля, если 'IDENTIFIED WITH no_password' явно не указано.
Значение по умолчанию: 1
таймаут_сессии_по_умолчанию
Таймаут сессии по умолчанию, в секундах.
Значение по умолчанию: 60
тип_пароля_по_умолчанию
Устанавливает тип пароля, который будет автоматически установлен для запросов, таких как CREATE USER u IDENTIFIED BY 'p'
.
Принимаемые значения:
plaintext_password
sha256_password
double_sha1_password
bcrypt_password
user_directories
Секция конфигурационного файла, содержащая настройки:
- Путь к конфигурационному файлу с предопределёнными пользователями.
- Путь к папке, где хранятся пользователи, созданные с помощью SQL-команд.
- Путь к узлу ZooKeeper, где хранятся и реплицируются пользователи, созданные с помощью SQL-команд (экспериментально).
Если эта секция указана, путь из users_config и access_control_path использоваться не будет.
Секция user_directories
может содержать любое количество элементов, порядок элементов определяет их приоритет (чем выше элемент, тем выше приоритет).
Примеры
Пользователи, роли, политики строк, квоты и профили также могут храниться в ZooKeeper:
Также можно определить секции memory
— означает хранение информации только в памяти, без записи на диск, и ldap
— означает хранение информации на LDAP-сервере.
Чтобы добавить LDAP-сервер как удаленный каталог пользователей, которые не определены локально, определите одну секцию ldap
со следующими настройками:
Настройка | Описание |
---|---|
server | одно из имен LDAP-серверов, определенных в секции конфигурации ldap_servers . Этот параметр обязателен и не может быть пустым. |
roles | секция с перечнем локально определенных ролей, которые будут назначены каждому пользователю, полученному с LDAP-сервера. Если роли не указаны, пользователь не сможет выполнять никакие действия после аутентификации. Если какая-либо из указанных ролей не определена локально на момент аутентификации, попытка аутентификации будет неудачной, как если бы введённый пароль был неверным. |
Пример
top_level_domains_list
Определяет список пользовательских доменов верхнего уровня для добавления, где каждая запись имеет формат <name>/path/to/file</name>
.
Например:
См. также:
- функция
cutToFirstSignificantSubdomainCustom
и её вариации, которая принимает имя пользовательского списка TLD, возвращая часть домена, которая включает домены верхнего уровня до первого значительного подсайта.
total_memory_profiler_step
Устанавливает размер памяти (в байтах) для стека вызовов на каждом пике выделения памяти. Данные хранятся в системной таблице system.trace_log с query_id
, равным пустой строке.
По умолчанию: 4194304
.
total_memory_tracker_sample_probability
Позволяет собирать случайные выделения и освобождения памяти и записывать их в системную таблицу system.trace_log с trace_type
, равным MemorySample
, с заданной вероятностью. Вероятность относилась к каждому выделению или освобождению памяти, независимо от размера выделения. Обратите внимание, что выборка происходит только тогда, когда количество неучтенной памяти превышает предел неучтенной памяти (значение по умолчанию — 4
MiB). Его можно уменьшить, если понижено значение total_memory_profiler_step. Вы можете установить total_memory_profiler_step
равным 1
для более мелкой выборки.
Возможные значения:
- Положительное целое число.
0
— запись случайных выделений и освобождений памяти в системную таблицуsystem.trace_log
отключена.
По умолчанию: 0
.
compiled_expression_cache_size
Устанавливает размер кеша (в байтах) для собранных выражений.
По умолчанию: 134217728
.
compiled_expression_cache_elements_size
Устанавливает размер кеша (в элементах) для собранных выражений.
По умолчанию: 10000
.
display_secrets_in_show_and_select
Включает или отключает отображение секретов в запросах SHOW
и SELECT
для таблиц, баз данных, табличных функций и словарей.
Пользователь, желающий видеть секреты, также должен иметь
format_display_secrets_in_show_and_select
формат настройки
включенной и привилегию
displaySecretsInShowAndSelect
.
Возможные значения:
0
— Отключено.1
— Включено.
По умолчанию: 0
proxy
Определяет прокси-серверы для HTTP и HTTPS-запросов, в настоящее время поддерживаемые хранилищем S3, табличными функциями S3 и URL-функциями.
Существует три способа определения прокси-серверов:
- переменные окружения
- списки прокси
- удалённые разрешающие серверы.
Прокси-серверы могут быть обойдены для конкретных хостов с помощью переменной no_proxy
.
Переменные окружения
Переменные окружения http_proxy
и https_proxy
позволяют указать
прокси-сервер для данного протокола. Если это задано в вашей системе, оно должно работать без сбоев.
Это самый простой подход, если у данного протокола есть только один прокси-сервер и этот прокси-сервер не меняется.
Списки прокси
Этот подход позволяет указать один или несколько прокси-серверов для протокола. Если определено несколько прокси-серверов, ClickHouse использует разные прокси по круговой схеме, балансируя нагрузку между серверами. Это самый простой подход, если есть более одного прокси-сервера для протокола и список прокси-серверов не меняется.
Шаблон конфигурации
Выберите родительское поле в вкладках ниже, чтобы просмотреть их дочерние:
- <proxy>
- <http> и <https>
Поле | Описание |
---|---|
<http> | Список одного или нескольких HTTP-прокси |
<https> | Список одного или нескольких HTTPS-прокси |
Поле | Описание |
---|---|
<uri> | URI прокси |
Удалённые разрешающие серверы
Возможно, что прокси-серверы изменяются динамически. В этом
случае вы можете определить конечную точку разрешателя. ClickHouse отправляет
пустой GET-запрос на эту конечную точку, удалённый разрешатель должен вернуть хост прокси.
ClickHouse будет использовать его для формирования URI прокси по следующему шаблону: \{proxy_scheme\}://\{proxy_host\}:{proxy_port}
Шаблон конфигурации
Выберите родительское поле в вкладках ниже, чтобы просмотреть их дочерние:
- <proxy>
- <http> и <https>
- <resolver>
Поле | Описание |
---|---|
<http> | Список одного или нескольких разрешителей* |
<https> | Список одного или нескольких разрешителей* |
Поле | Описание |
---|---|
<resolver> | Конечная точка и другие детали для разрешателя |
Вы можете иметь несколько элементов <resolver>
, но только первый
<resolver>
для данного протокола будет использоваться. Все остальные элементы <resolver>
для данного протокола игнорируются. Это означает, что балансировка нагрузки
(при необходимости) должна быть реализована удалённым разрешателем.
Поле | Описание |
---|---|
<endpoint> | URI разрешителя прокси |
<proxy_scheme> | Протокол конечного URI прокси. Это может быть либо http , либо https . |
<proxy_port> | Номер порта разрешителя прокси |
<proxy_cache_time> | Время в секундах, в течение которого значения от разрешителя должны кэшироваться ClickHouse. Установка этого значения в 0 заставляет ClickHouse обращаться к разрешителю для каждого HTTP или HTTPS-запроса. |
Приоритет
Настройки прокси определяются в следующем порядке:
Порядок | Настройка |
---|---|
1. | Удалённые разрешители |
2. | Списки прокси |
3. | Переменные окружения |
ClickHouse проверит тип разрешателя высшего приоритета для протокола запроса. Если он не определён, он проверит следующий тип разрешателя с более низким приоритетом, пока не достигнет разрешателя окружения. Это также позволяет использовать смешанные типы разрешителей.
disable_tunneling_for_https_requests_over_http_proxy
По умолчанию используется туннелирование (т.е. HTTP CONNECT
) для выполнения HTTPS
запросов через HTTP
прокси. Эта настройка может быть использована для его отключения.
no_proxy
По умолчанию все запросы проходят через прокси. Чтобы отключить его для конкретных хостов, переменная no_proxy
должна быть установлена.
Она может быть установлена внутри секции <proxy>
для списков и удалённых разрешителей и как переменная окружения для разрешителя окружения.
Она поддерживает IP-адреса, домены, подсайты и символ '*'
для полного обхода. Начальные точки отбрасываются, как это делает curl.
Пример
Следующая конфигурация обходит прокси-запросы к clickhouse.cloud
и всем его подсайтам (например, auth.clickhouse.cloud
).
То же самое касается GitLab, даже если у него есть начальная точка. И gitlab.com
, и about.gitlab.com
будут обходить прокси.
max_materialized_views_count_for_table
Ограничение на количество материализованных представлений, прикреплённых к таблице.
Здесь рассматриваются только напрямую зависимые представления, и создание одного представления на основе другого представления не рассматривается.
По умолчанию: 0
.
format_alter_operations_with_parentheses
Если установлено в true
, операции изменения будут окружены скобками в отформатированных запросах. Это делает синтаксический разбор отформатированных запросов изменений менее неоднозначным.
Тип: Bool
По умолчанию: 0
ignore_empty_sql_security_in_create_view_query
Если это истинно, ClickHouse не записывает значения по умолчанию для пустого SQL-заявления безопасности в запросах CREATE VIEW
.
Эта настройка необходима только на период миграции и станет устаревшей в 24.4
Тип: Bool
По умолчанию: 1
merge_workload
Используется для регулировки того, как ресурсы используются и распределяются между слияниями и другими рабочими нагрузками. Указанное значение используется как значение настройки workload
для всех фоновых слияний. Может быть переопределено настройкой дерева слияния.
Тип: String
По умолчанию: default
См. также
mutation_workload
Используется для регулировки того, как ресурсы используются и распределяются между мутациями и другими рабочими нагрузками. Указанное значение используется как значение настройки workload
для всех фоновых мутаций. Может быть переопределено настройкой дерева слияния.
См. также
Тип: String
По умолчанию: default
throw_on_unknown_workload
Определяет поведение при доступе к неизвестной WORKLOAD с настройкой запроса 'workload'.
- Если
true
, исключение RESOURCE_ACCESS_DENIED будет выброшено из запроса, который пытается получить доступ к неизвестной нагрузке. Полезно для обеспечения планирования ресурсов для всех запросов после установления иерархии WORKLOAD и наличия WORKLOAD по умолчанию. - Если
false
(по умолчанию), предоставляется неограниченный доступ без планирования ресурсов для запроса с настройкой 'workload', указывающей на неизвестную WORKLOAD. Это важно во время настройки иерархии WORKLOAD, прежде чем будет добавлено значение по умолчанию.
См. также
Тип: String
По умолчанию: false
Пример
workload_path
Каталог, используемый в качестве хранилища для всех запросов CREATE WORKLOAD
и CREATE RESOURCE
. По умолчанию используется папка /workload/
в рабочем каталоге сервера.
Пример
См. также
workload_zookeeper_path
Путь к узлу ZooKeeper, который используется в качестве хранилища для всех запросов CREATE WORKLOAD
и CREATE RESOURCE
. Для согласованности все SQL-определения хранятся как значение этого единственного znode. По умолчанию ZooKeeper не используется и определения хранятся на диске.
Пример
См. также
use_legacy_mongodb_integration
Использовать устаревшую реализацию интеграции с MongoDB. Устарело.
Тип: Bool
По умолчанию: true
.
max_authentication_methods_per_user
Максимальное количество методов аутентификации, с которыми может быть создан или изменён пользователь. Изменение этой настройки не влияет на существующих пользователей. Запросы на создание/изменение, связанные с аутентификацией, завершатся неудачей, если они превышают лимит, указанный в этой настройке. Запросы на создание/изменение, не связанные с аутентификацией, будут успешными.
Значение 0
означает безлимитность.
Тип: UInt64
По умолчанию: 100
allow_feature_tier
Контролирует, может ли пользователь изменять настройки, связанные с различными уровнями функций.
0
- Изменения любых настроек разрешены (экспериментальные, бета, производственные).1
- Разрешены только изменения настроек бета и производственной версии. Изменения экспериментальных настроек отклоняются.2
- Разрешены только изменения производственных настроек. Изменения экспериментальных или бета-настроек отклоняются.
Это эквивалентно установке ограничения только для чтения на все функции EXPERIMENTAL
/ BETA
.
Значение 0
означает, что все настройки могут быть изменены.
Тип: UInt32
По умолчанию: 0