PostgreSQL 查看当前活动
查询出耗时较 长 且
查看耗时较长的查询
# 6.0版本:
select current_timestamp - query_start as runtime, datname, usename, query
from pg_stat_activity
where state != 'idle'
order by 1 desc;
# 4.3版本:
select current_timestamp - query_start as runtime, datname, usename, current_query
from pg_stat_activity
where current_query != '<IDLE>'
order by 1 desc;
结束掉某个查询
# 通过Cancel取消一个正在运行的Query (需要在一个运行Query的Session中执行)
# 如果Session本身就是Idle的,执行不起作用。另外取消这个Query需要花费一定的时间来做清理和事务的回滚
SELECT pg_cancel_backend(pid)
# 使用pg_terminate_backend来清理Idle Session,也可以用来终止Query
SELECT pg_terminate_backend(pid);