我意外地通过JDBC驱动程序创建了许多与vertica数据库的连接。通过我的JDBC驱动程序以编程方式关闭它们是不可能的,剩下的唯一选择是用SQL查询关闭它们。在Vertica中,我想运行
select close_session(select session_id from sessions where client_hostname like '%.195%');
或
select close_session() from sessions where session_id in (select distinct session_id from sessions where client_hostname like '%.195%');
这两种选择都是错误的,不起作用。什么是正确的解决方案? (我无法使用close_all_sessions(),因为这会导致我的同事不断查询。我可以手动关闭50个会话,但无论如何都知道正确的工作方式很有用。)
答案 0 :(得分:1)
首先,问问自己为什么要允许超过50个客户会话?
然后我会准备CLOSE_SESSION()
语句并运行它们:
SELECT E'SELECT CLOSE_SESSION(\'' || session_id || E'\');'
FROM user_sessions
WHERE client_hostname LIKE '%.195%';