为什么在clickhouse中没有显式修改设置时抛出“无法在只读模式下修改设置”?

vqlkdk9b  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(2397)

引发以下异常时,应用程序正在使用只读用户:

<Error> HTTPHandler: Code: 164, e.displayText() = DB::Exception: Cannot modify 'result_overflow_mode' setting in readonly mode

我阅读了clickhouse代码,发现当查询与 set setting ,如果用户是只读的,则会抛出此错误。
我在中检查了只读用户的配置 users.xml 我发现 max_result_rows/bytes 以及 result_overflow_mode 没有主动设置。
但是,我的问题与此不符 set setting .
那么是什么逻辑触发了这种设置的改变呢?

k5ifujac

k5ifujac1#

尝试指定 <readonly>2</readonly> .
描述 readonly 参数:https://clickhouse.tech/docs/en/operations/settings/permissions_for_queries/#settings_readonly
可能值:
0-允许所有查询。
1-只允许读取数据查询。
2-允许读取数据和更改设置查询。
因此,当readonly=2时,您就可以让您的客户机进行设置 result_overflow_mode 但是不允许执行插入和其他修改数据的请求。

相关问题