我有一个运行很长时间的选择查询。我将如何获得该查询的状态,例如它将运行多长时间?是否从表中访问数据。
注意:根据pg_stat_activity
查询状态显示为活动而不是等待状态。就像在 Oracle 中一样,我们可以看到查询的源/目标和处理状态 - 在 postgresql 中是否有类似的东西?
我有一个运行很长时间的选择查询。我将如何获得该查询的状态,例如它将运行多长时间?是否从表中访问数据。
注意:根据pg_stat_activity
查询状态显示为活动而不是等待状态。就像在 Oracle 中一样,我们可以看到查询的源/目标和处理状态 - 在 postgresql 中是否有类似的东西?
基于@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;
这还不能完成,但在TODO上。
我们可以在 postgres 中找到关于数据库的查询日志。
select *
from pg_stat_activity
where datname = 'yourdatabasename'
这将给出数据库的活动查询日志。