查询权限
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
allow_ddl
允许或拒绝 DDL 查询。
可能的值
- 0 — 不允许 DDL 查询。
- 1 — 允许 DDL 查询。
默认值:1
注意
如果当前会话的 allow_ddl = 0
,则无法运行 SET allow_ddl = 1
。
KILL QUERY
KILL QUERY
可以使用任何 readonly 和 allow_ddl 设置组合执行。