尝试在ClickHouse中创建临时表时遇到问题。我执行简单查询并收到错误
create TEMPORARY TABLE nn1 as select 1;
message: Code: 113, e.displayText() = DB::Exception: There is no session, e.what() = DB::Exception
有人知道它为什么会发生以及如何解决问题吗?我想我在进行查询之前需要启动会话,但是我不知道该怎么做。
我正在尝试使用ClickHouse的界面进行查询。看起来像
答案 0 :(得分:2)
默认情况下,通过HTTP接口完成的所有查询都是无状态的。
要使用临时表,您需要有一个活动会话。只需在ClickHouse请求的URL中添加具有一些值的session_id
参数即可。
例如:
替换http://127.0.0.1:8123/
到http://127.0.0.1:8123/?session_id=mysession
以后具有相同session_id
的请求将“记住”临时表,设置等。您在先前查询中使用该session_id
所做的操作。
请记住,会话使用排他锁,因此您不能同时运行两个具有相同session_id的请求。默认情况下,会话生存期等于60秒,但可以调整。