人大金仓数据库查看正在执行的SQL
1. 使用系统视图查询
1 |
SELECT * FROM sys_stat_activity; |
这个视图类似于PostgreSQL的pg_stat_activity视图,提供了当前所有会话的详细信息,包括正在执行的SQL语句。
2. 获取更详细的信息
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SELECT pid AS "进程ID", usename AS "用户名", application_name AS "应用名称", client_addr AS "客户端地址", state AS "状态", query AS "正在执行的SQL", query_start AS "开始时间", now() - query_start AS "执行时长" FROM sys_stat_activity WHERE state = 'active'; |
3. 使用KingbaseES特有的函数
1 |
SELECT * FROM sys_stat_get_activity(NULL); |
4. 终止特定会话
如果需要终止长时间运行的查询,可以使用:
1 |
SELECT sys_terminate_backend(pid); |
其中pid是从sys_stat_activity中查到的进程ID。