Перейти к основному содержанию
Запросы в ClickHouse можно разделить на несколько типов:
  1. Запросы на чтение данных: SELECT, SHOW, DESCRIBE, EXISTS.
  2. Запросы на запись данных: INSERT, OPTIMIZE.
  3. Запросы на изменение настроек: SET, USE.
  4. DDL DDL-запросы: CREATE, ALTER, RENAME, ATTACH, DETACH, DROP TRUNCATE.
  5. KILL QUERY.
Следующие настройки определяют права пользователя в зависимости от типа запроса:

readonly

Ограничивает права на выполнение запросов чтения данных, записи данных и изменения настроек. Если установлено значение 1, разрешаются:
  • Все типы запросов на чтение (например, SELECT и эквивалентные ему запросы).
  • Запросы, изменяющие только контекст сеанса (например, USE).
Если установлено значение 2, разрешается всё вышеперечисленное, а также:
  • SET и CREATE TEMPORARY TABLE
Запросы вроде EXISTS, DESCRIBE, EXPLAIN, SHOW PROCESSLIST и т. д. эквивалентны SELECT, поскольку фактически выполняют SELECT из системных таблиц.
Возможные значения:
  • 0 — Разрешены запросы чтения, записи и изменения настроек.
  • 1 — Разрешены только запросы чтения данных.
  • 2 — Разрешены запросы чтения данных и изменения настроек.
Значение по умолчанию: 0
После установки readonly = 1 пользователь не может изменять настройки readonly и allow_ddl в текущем сеансе.При использовании метода GET в HTTP-интерфейсе значение readonly = 1 устанавливается автоматически. Чтобы изменять данные, используйте метод POST.Значение readonly = 1 запрещает пользователю изменять настройки. Однако можно запретить изменять только определённые настройки. Также можно разрешить изменение только определённых настроек при ограничении readonly = 1. Подробнее см. в разделе ограничения на настройки.

allow_ddl

Разрешает или запрещает DDL запросы. Возможные значения:
  • 0 — DDL-запросы запрещены.
  • 1 — DDL-запросы разрешены.
Значение по умолчанию: 1
Нельзя выполнить SET allow_ddl = 1, если для текущего сеанса allow_ddl = 0.
KILL QUERYKILL QUERY можно выполнять при любой комбинации настроек readonly и allow_ddl.
Последнее изменение 10 июня 2026 г.