PostgreSQL:对 pg_stat_activity 中的所有查询运行 EXPLAIN

Ada*_*tan 5 postgresql pg-stat-activity amazon-rds

我正在调查 RDS 上 PostgreSQL 数据库的高负载。作为调查的一部分,我正在运行以下查询:

SELECT now()-query_start, state, query FROM pg_stat_activity ORDER BY 1 DESC;
Run Code Online (Sandbox Code Playgroud)

此查询返回数据库上运行时间最长的查询。然后,我手动将查询文本复制到另一个窗口,并运行EXPLAIN每个查询以识别需要索引的较长查询。

有没有办法自动运行EXPLAIN每个查询pg_stat_activity

小智 4

这并不完全是您正在寻找的,但 auto_explain 扩展可能是您能得到的最接近的。参见自动解释