【问题标题】:How to view Statements running with in a function (Greenplum)如何查看在函数中运行的语句(Greenplum)
【发布时间】:2021-05-07 13:23:15
【问题描述】:

有什么方法可以找到在 Greenplum 中的函数/过程中运行的语句,例如我们有“pg_stat_activity”来查看在 Greenplum 数据库中运行的查询?

pg_stat_activity 仅显示正在运行/空闲等的语句,但不显示正在运行的函数内部运行的语句。

Greenplum 中是否还有其他包含此信息的视图或表格?

【问题讨论】:

    标签: plpgsql greenplum


    【解决方案1】:

    不,目前不可见。

    命令中心可能会让您深入了解实际的查询处理,但这与函数内部执行的内容并不是直接的 1:1 关系。

    【讨论】:

      【解决方案2】:

      是的,正如 Scherbaum 所说,您无法检查它。唯一的解决方法是在函数中设置动态变量。如下:

      CREATE OR REPLACE FUNCION test_func()
          AS $$
          DECLARE
              vStep int;
              -- <few other variables>
          BEGIN
              vStep := 1000
                  -- <ANY SQL>
              RAISE INFO '%: Completed', vStep
              vStep := 2000
                  -- <ANY SQL>
              RAISE INFO '%: Completed', vStep
                  -- and so on
          END $$
      

      您可以在您的进度日志中查看它。 上面的代码只是一个伪代码给出一个想法,不会按原样工作。

      【讨论】:

        猜你喜欢
        • 2017-05-08
        • 1970-01-01
        • 2020-09-19
        • 2011-06-02
        • 2014-09-28
        • 2022-01-11
        • 2021-02-17
        • 2020-02-20
        相关资源
        最近更新 更多