Перейти к основному содержанию
Если вы используете словарь в ClickHouse Cloud, для создания словарей используйте вариант с DDL-запросом, а сам словарь создавайте от имени пользователя default. Также проверьте список поддерживаемых источников для словарей в руководстве по совместимости с Cloud.
Клауза structure описывает ключ словаря и поля, доступные в запросах. Описание XML:
Атрибуты описываются в элементах:
  • <id> — ключевой столбец
  • <attribute> — столбец данных: атрибутов может быть несколько.
DDL-запрос:
Атрибуты задаются в теле запроса:
  • PRIMARY KEY — ключевой столбец
  • AttrName AttrType — столбец данных. Атрибутов может быть несколько.

Ключ

ClickHouse поддерживает следующие типы ключей:
  • Числовой ключ. UInt64. Задаётся в теге <id> или с помощью ключевого слова PRIMARY KEY.
  • Составной ключ. Набор значений разных типов. Задаётся в теге <key> или с помощью ключевого слова PRIMARY KEY.
XML-структура может содержать либо <id>, либо <key>. DDL-запрос должен содержать только один PRIMARY KEY.
Не следует описывать ключ как атрибут.

Числовой ключ

Тип: UInt64. Пример конфигурации:
Поля конфигурации:
  • name – имя столбца с ключами.
Для DDL-запроса:
  • PRIMARY KEY – Имя столбца, содержащего ключи.

Составной ключ

Ключом может быть Tuple из полей любых типов. Структура в этом случае должна быть complex_key_hashed или complex_key_cache.
Составной ключ может состоять и из одного элемента. Это позволяет, например, использовать в качестве ключа строку.
Структура ключа задаётся в элементе <key>. Поля ключа указываются в том же формате, что и атрибуты словаря. Пример:
or
В запросе к функции dictGet* в качестве ключа передаётся Tuple. Пример: dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2)).

Атрибуты

Пример конфигурации:
или
Поля конфигурации:
Последнее изменение 2 июля 2026 г.