DataGrip连接ClickHouse出现Unknown setting session_id错误如何解决
报错原因
这个报错确实是DataGrip的内部预设配置导致的。高版本DataGrip的ClickHouse JDBC驱动默认会在建立连接时自动传递session_id参数,用于支持会话级别的配置共享、查询状态跟踪等特性;而你使用的ClickHouse服务端版本低于20.3,该版本原生不识别session_id配置项,因此抛出115错误码的未知配置异常。
解决方法
- 方案1(优先选择):将ClickHouse服务端升级到20.3及以上版本,原生支持
session_id参数,无需修改任何IDE配置即可正常连接。 - 方案2(不适合升级服务端时使用):修改DataGrip的连接配置,关闭
session_id的自动发送:- 打开对应ClickHouse数据源的配置界面,点击「高级」标签页
- 在参数列表中搜索
send_session_id,将其值设置为false - 也可以直接修改JDBC连接串,在末尾追加参数
?send_session_id=false,覆盖默认配置 - 保存配置后重新测试连接即可
- 方案3:降级DataGrip到2021.1之前的版本,该区间版本默认不会自动发送
session_id参数,可直接适配低版本ClickHouse。
验证方式
连接成功后可执行SELECT version()命令,确认返回的版本号和你的服务端实际版本一致,即代表配置生效。
内容的提问来源于stack exchange,提问作者YISIO
相关产品推荐
相关产品推荐

