Домены — это типы специального назначения, которые добавляют дополнительные возможности к существующим базовым типам, при этом сохраняя без изменений on-wire и on-disk format базового типа данных. В настоящее время ClickHouse не поддерживает пользовательские домены.
Вы можете использовать домены везде, где можно использовать соответствующий базовый тип, например:
- Создать столбец доменного типа
- Читать/записывать значения из/в доменный столбец
- Использовать его как индекс, если базовый тип можно использовать в качестве индекса
- Вызывать функции со значениями из доменного столбца
Дополнительные возможности доменов
- Явное указание имени типа столбца в
SHOW CREATE TABLEилиDESCRIBE TABLE - Ввод в человекочитаемом формате с помощью
INSERT INTO domain_table(domain_column) VALUES(...) - Вывод в человекочитаемом формате для
SELECT domain_column FROM domain_table - Загрузка данных из внешнего источника в человекочитаемом формате:
INSERT INTO domain_table FORMAT CSV ...
Ограничения
- Невозможно преобразовать индексный столбец базового типа в доменный тип с помощью
ALTER TABLE. - Невозможно неявно преобразовать строковые значения в доменные при вставке данных из другого столбца или таблицы.
- Домен не накладывает никаких ограничений на хранимые значения.