查询权限
ClickHouse中的查询可以分为几种类型:
- 读取数据的查询:
SELECT
,SHOW
,DESCRIBE
,EXISTS
。 - 写入数据的查询:
INSERT
,OPTIMIZE
。 - 更改设置的查询:
SET
,USE
。 - DDL 查询:
CREATE
,ALTER
,RENAME
,ATTACH
,DETACH
,DROP
,TRUNCATE
。 KILL QUERY
。
以下设置按查询类型规范用户权限:
KILL QUERY
可以与任何设置进行。
readonly
限制读取数据、写入数据和更改设置查询的权限。
查看查询如何划分为 上述 的多种类型。
可能的值:
- 0 — 所有查询都被允许。
- 1 — 只有读取数据的查询被允许。
- 2 — 读取数据以及变更设置的查询被允许。
设置为 readonly = 1
后,用户无法在当前会话中更改 readonly
和 allow_ddl
设置。
当使用 HTTP接口 中的 GET
方法时,将自动设置为 readonly = 1
。 要修改数据,请使用 POST
方法。
设置 readonly = 1
将禁止用户的更改任何设置。有一种方法可以只禁止用户更改特定的设置,有关详细信息,请参阅 对设置的限制。
默认值:0
allow_ddl
允许或拒绝 DDL 查询。
从 上文 查看查询是如何被划分为多种类型的。
可能的值:
- 0 — DDL 查询不被允许。
- 1 — DDL 查询被允许。
如果对当前会话 allow_ddl = 0
,你就不能执行 SET allow_ddl = 1
。
默认值:1