我有一个运行时间非常长的查询语句。 如何获取该查询的状态,例如它将运行多长时间? 它是否正在访问表中的数据。
注意:根据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;
select *
from pg_stat_activity
where datname = 'yourdatabasename'
这将提供数据库的活动查询日志。