我有一个非常长的选择查询。我如何获得该查询的状态,例如它将运行多长时间?是否从表中访问数据。
注意:根据pg_stat_activity
,查询正在运行。不处于等待状态。
就像在Oracle中一样,我们可以看到查询的源/目标和访问状态 - 在postgresql中有这样的东西吗?
答案 0 :(得分:8)
这还不能完成,但是在the TODO上。
答案 1 :(得分:7)
根据我使用的@Anshu答案:
SELECT datname, pid, state, query, age(clock_timestamp(), query_start) AS age
FROM pg_stat_activity
WHERE state <> 'idle'
AND query NOT LIKE '% FROM pg_stat_activity %'
ORDER BY age;
答案 2 :(得分:3)
我们可以在postgres中找到关于数据库的查询日志。
select *
from pg_stat_activity
where datname = 'yourdatabasename'
这将提供数据库的活动查询日志。