Конфигурационные параметры сервера
builtin_dictionaries_reload_interval
Интервал (в секундах) перезагрузки встроенных словарей.
ClickHouse перезагружает встроенные словари с заданным интервалом. Это позволяет править словари «на лету» без перезапуска сервера.
Значение по умолчанию - 3600.
Пример
<builtin_dictionaries_reload_interval>3600</builtin_dictionaries_reload_interval>
compression
Настройки компрессии данных.
Лучше не использовать, если вы только начали работать с ClickHouse.
Общий вид конфигурации:
<compression>
<case>
<min_part_size>...</min_part_size>
<min_part_size_ratio>...</min_part_size_ratio>
<method>...</method>
<level>...</level>
</case>
...
</compression>
Поля блока <case>
:
min_part_size
- Минимальный размер части таблицы.min_part_size_ratio
- Отношение размера минимальной части таблицы к полному размеру таблицы.method
- Метод сжатия. Возможные значения:lz4
,lz4hc
,zstd
,deflate_qpl
.level
– Уровень сжатия. См. Кодеки.
Можно сконфигурировать несколько разделов <case>
.
ClickHouse проверяет условия для min_part_size
и min_part_size_ratio
и выполнит те блоки case
, для которых условия совпали.
- Если кусок данных совпадает с условиями, ClickHouse использует указанные метод сжатия.
- Если кусок данных совпадает с несколькими блоками
case
, ClickHouse использует первый совпавший блок условий.
Если ни один <case>
не подходит, то ClickHouse применит алгоритм сжатия lz4
.
Пример
<compression incl="clickhouse_compression">
<case>
<min_part_size>10000000000</min_part_size>
<min_part_size_ratio>0.01</min_part_size_ratio>
<method>zstd</method>
<level>1</level>
</case>
</compression>
encryption
Настраивает команду для получения ключа, используемого кодеками шифрования. Ключ (или несколько ключей) должен быть записан в переменные окружения или установлен в конфигурационном файле.
Ключи могут быть представлены в шестнадцатеричной или строковой форме. Их длина должна быть равна 16 байтам.
Пример
Загрузка из файла конфигурации:
<encryption_codecs>
<aes_128_gcm_siv>
<key>12345567812345678</key>
</aes_128_gcm_siv>
</encryption_codecs>
Хранение ключей в конфигурационном файле не рекомендовано. Это не безопасно. Вы можете переместить ключи в отдельный файл на секретном диске и сделать symlink к этому конфигурационному файлу в папке config.d/
.
Загрузка из файла конфигурации, когда ключ представлен в шестнадцатеричной форме:
<encryption_codecs>
<aes_128_gcm_siv>
<key_hex>00112233445566778899aabbccddeeff</key_hex>
</aes_128_gcm_siv>
</encryption_codecs>
Загрузка ключа из переменной окружения:
<encryption_codecs>
<aes_128_gcm_siv>
<key_hex from_env="ENVVAR"></key_hex>
</aes_128_gcm_siv>
</encryption_codecs>
Параметр current_key_id
устанавливает текущий ключ для шифрования, и все указанные ключи можно использовать для расшифровки.
Все эти методы могут быть применены для нескольких ключей:
<encryption_codecs>
<aes_128_gcm_siv>
<key_hex id="0">00112233445566778899aabbccddeeff</key_hex>
<key_hex id="1" from_env="ENVVAR"></key_hex>
<current_key_id>1</current_key_id>
</aes_128_gcm_siv>
</encryption_codecs>
Параметр current_key_id
указывает текущий ключ для шифрования.
Также пользователь может добавить одноразовое случайное число длинной 12 байт (по умолчанию шифрование и дешифровка будут использовать одноразовое число длинной 12 байт, заполненное нулями):
<encryption_codecs>
<aes_128_gcm_siv>
<nonce>012345678910</nonce>
</aes_128_gcm_siv>
</encryption_codecs>
Одноразовое число также может быть представлено в шестнадцатеричной форме:
<encryption_codecs>
<aes_128_gcm_siv>
<nonce_hex>abcdefabcdef</nonce_hex>
</aes_128_gcm_siv>
</encryption_codecs>
Всё вышеперечисленное также применимо для алгоритма aes_256_gcm_siv
(но ключ должен быть длиной 32 байта).
custom_settings_prefixes
Список префиксов для пользовательских настроек. Префиксы должны перечисляться через запятую.
Пример
<custom_settings_prefixes>custom_</custom_settings_prefixes>
См. также
core_dump
Задает мягкое ограничение для размера файла дампа памяти.
Возможные значения:
- положительное целое число.
Значение по умолчанию: 1073741824
(1 ГБ).
Жесткое ограничение настраивается с помощью системных инструментов.
Пример
<core_dump>
<size_limit>1073741824</size_limit>
</core_dump>
database_atomic_delay_before_drop_table_sec
Устанавливает задержку перед удалением табличных данных, в секундах. Если запрос имеет идентификатор SYNC
, эта настройка игнорируется.
Значение по умолчанию: 480
(8 минут).
default_database
База данных по умолчанию.
Перечень баз данных можно получить запросом SHOW DATABASES.
Пример
<default_database>default</default_database>
default_profile
Профиль настроек по умолчанию.
Профили настроек находятся в файле, указанном в параметре user_config
.
Пример
<default_profile>default</default_profile>
default_replica_path
Путь к таблице в ZooKeeper.
Пример
<default_replica_path>/clickhouse/tables/{uuid}/{shard}</default_replica_path>
default_replica_name
Имя реплики в ZooKeeper.
Пример
<default_replica_name>{replica}</default_replica_name>
dictionaries_config
Путь к конфигурации внешних словарей.
Путь:
- Указывается абсолютным или относительно конфигурационного файла сервера.
- Может содержать wildcard-ы * и ?.
Смотрите также «Внешние словари».
Пример
<dictionaries_config>*_dictionary.xml</dictionaries_config>
user_defined_executable_functions_config
Путь к файлу конфигурации для исполняемых пользовательских функций.
Путь:
- Указывается абсолютным или относительно конфигурационного файла сервера.
- Может содержать wildcard-ы * и ?.
Смотрите также “Исполняемые пользовательские функции.”.
Пример
<user_defined_executable_functions_config>*_function.xml</user_defined_executable_functions_config>
dictionaries_lazy_load
Отложенная загрузка словарей.
Если true
, то каждый словарь загружается при первом использовании. Если словарь не удалось загрузить, то вызов функции, использующей словарь, сгенерирует исключение.
Если false
, все словари будут загружаться на старте сервера.
Сервер будет ждать на старте окончания загрузки всех словарей перед началом обработки соединений
(исключение: если wait_dictionaries_load_at_startup
установлена в false
- см. ниже).
По умолчанию - true
.
Пример
<dictionaries_lazy_load>true</dictionaries_lazy_load>