查看函数正在运行的命令是postgres

时间:2012-09-09 14:31:53

标签: postgresql

说我运行一个函数:select somefunction()我想知道它目前正在执行什么声明

select * from t没有帮助,因为它显示了'select somefunction()'行而不是确切的声明。

有没有办法看看是什么?

谢谢, ħ

2 个答案:

答案 0 :(得分:1)

您可能希望使用PL/PgSQL debugger - 这应该在大多数PostgreSQL安装中预先安装,并在postgresql.conf中激活后通过PgAdmin-III使用。

或者,请考虑在您希望了解的重要位置在代码中添加RAISE NOTICE语句。

我知道没有任何工具可以获得包含(可能是嵌套的)函数调用的活动SQL语句的“堆栈跟踪”。这很好,但是AFAIK没有人实现这样的功能。

答案 1 :(得分:0)

这可以帮到你。

  

CREATE FUNCTION somefunction()将表(查询文本)作为$$ select返回   current_query ::来自pg_stat_activity的文本,其中current_query不喜欢   '%somefunction();' $$ language sql;