system.dictionaries
Содержит информацию о внешних словарях.
Столбцы:
- database(String) — имя базы данных, в которой находится словарь, созданный с помощью DDL-запроса. Пустая строка для других словарей.
- name(String) — имя словаря.
- uuid(UUID) — уникальный UUID словаря.
- status(Enum8) — статус словаря. Возможные значения:- NOT_LOADED— словарь не загружен, потому что не использовался.
- LOADED— словарь загружен успешно.
- FAILED— словарь не загружен в результате ошибки.
- LOADING— словарь в процессе загрузки.
- LOADED_AND_RELOADING— словарь загружен успешно, сейчас перезагружается (частые причины: запрос SYSTEM RELOAD DICTIONARY, таймаут, изменение настроек словаря).
- FAILED_AND_RELOADING— словарь не загружен в результате ошибки, сейчас перезагружается.
 
- origin(String) — путь к конфигурационному файлу, описывающему словарь.
- type(String) — тип размещения словаря. Хранение словарей в памяти.
- key.names(Array(String)) — массив имен ключей, предоставляемых словарем.
- key.types(Array(String)) — соответствующий массив типов ключей, предоставляемых словарем.
- attribute.names(Array(String)) — массив имен атрибутов, предоставляемых словарем.
- attribute.types(Array(String)) — соответствующий массив типов атрибутов, предоставляемых словарем.
- bytes_allocated(UInt64) — объем оперативной памяти, используемый словарем.
- query_count(UInt64) — количество запросов с момента загрузки словаря или с момента последней успешной перезагрузки.
- hit_rate(Float64) — для cache-словарей — процент закэшированных значений.
- found_rate(Float64) — процент обращений к словарю, при которых значение было найдено.
- element_count(UInt64) — количество элементов, хранящихся в словаре.
- load_factor(Float64) — процент заполнения словаря (для хэшированного словаря — процент заполнения хэш-таблицы).
- source(String) — текст, описывающий источник данных для словаря.
- lifetime_min(UInt64) — минимальное время обновления словаря в памяти, по истечении которого Clickhouse попытается перезагрузить словарь (если задано- invalidate_query, то только если он изменился). Задается в секундах.
- lifetime_max(UInt64) — максимальное время обновления словаря в памяти, по истечении которого Clickhouse попытается перезагрузить словарь (если задано- invalidate_query, то только если он изменился). Задается в секундах.
- loading_start_time(DateTime) — время начала загрузки словаря.
- loading_duration(Float32) — время, затраченное на загрузку словаря.
- last_exception(String) — текст ошибки, возникающей при создании или перезагрузке словаря, если словарь не удалось создать.
- comment(String) — текст комментария к словарю.
Пример
Настройте словарь:
CREATE DICTIONARY dictionary_with_comment
(
    id UInt64,
    value String
)
PRIMARY KEY id
SOURCE(CLICKHOUSE(HOST 'localhost' PORT tcpPort() TABLE 'source_table'))
LAYOUT(FLAT())
LIFETIME(MIN 0 MAX 1000)
COMMENT 'The temporary dictionary';
Убедитесь, что словарь загружен.
SELECT * FROM system.dictionaries LIMIT 1 FORMAT Vertical;
Row 1:
──────
database:                    default
name:                        dictionary_with_comment
uuid:                        4654d460-0d03-433a-8654-d4600d03d33a
status:                      NOT_LOADED
origin:                      4654d460-0d03-433a-8654-d4600d03d33a
type:
key.names:                   ['id']
key.types:                   ['UInt64']
attribute.names:             ['value']
attribute.types:             ['String']
bytes_allocated:             0
query_count:                 0
hit_rate:                    0
found_rate:                  0
element_count:               0
load_factor:                 0
source:
lifetime_min:                0
lifetime_max:                0
loading_start_time:          1970-01-01 00:00:00
last_successful_update_time: 1970-01-01 00:00:00
loading_duration:            0
last_exception:
comment:                     The temporary dictionary