Postgres:监视执行计划的哪个部分正在运行用于长查询



pg_stat_activity中的信息有点稀缺,并且不会为长查询提供进度信息。

这些信息在 Oracle 的v$session_longops中可用,它给出了正在处理的对象(target(、它需要经历的项目数(totalwork(以及到目前为止完成的项目数(sofar(。然后可以使用它来推断引擎在执行计划的哪个部分。这些信息也可以在Spark和Flink中找到。

我想知道是否有办法在 Postgres 中访问它,无论是在系统表中,还是通过观察进程,或者如果他想实现补丁,可以在内部查看它。

干杯!

AFAIK 没有现有的功能来详细监视长时间运行的查询(只有 3 个 DDL 语句有这样的功能(。

3年前就提出了一个补丁。看起来它没有集成。

请参阅黑客邮件列表中的讨论: https://www.postgresql.org/message-id/CADdR5nxQUSh5kCm9MKmNga8+c1JLxLHDzLhAyXpfo9-Wmc6s5g@mail.gmail.com

最新更新