【问题标题】:Postgres: monitor what part of the execution plan is running for long queriesPostgres:监控执行计划的哪一部分正在运行长查询
【发布时间】:2020-09-17 07:17:19
【问题描述】:

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

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

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

干杯!

【问题讨论】:

    标签: postgresql sql-execution-plan long-running-processes


    【解决方案1】:

    AFAIK 没有现有功能可以详细监控长时间运行的查询(只有3 DDL statements 才有这样的功能。

    3 年前提出了一个补丁。好像没有集成。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-02
      相关资源
      最近更新 更多