Разрешения для Запросов
Запросы в ClickHouse можно разделить на несколько типов:
- Запросы на чтение данных: SELECT,SHOW,DESCRIBE,EXISTS.
- Запросы на запись данных: INSERT,OPTIMIZE.
- Запросы на изменение настроек: SET,USE.
- DDL запросы: CREATE,ALTER,RENAME,ATTACH,DETACH,DROP,TRUNCATE.
- KILL QUERY.
Следующие настройки регулируют разрешения пользователя в зависимости от типа запроса:
readonly
Ограничивает разрешения на чтение данных, запись данных и изменение настроек.
При установке в 1 разрешает:
- Все типы запросов на чтение (такие как SELECT и эквивалентные запросы).
- Запросы, которые изменяют только контекст сессии (такие как USE).
При установке в 2 разрешает вышеописанные, плюс:
- 
SET и CREATE TEMPORARY TABLE подсказкаЗапросы такие как EXISTS, DESCRIBE, EXPLAIN, SHOW PROCESSLIST и т.д. эквивалентны 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 QUERY может быть выполнен с любой комбинацией настроек readonly и allow_ddl.
