假设我运行一个函数:select somefunction()
我想知道它目前正在执行什么语句
select * from t
没有帮助,因为它显示了“select somefunction()”行而不是确切的语句。
有什么办法可以查看是怎么回事吗?
谢谢,h
假设我运行一个函数:select somefunction()
我想知道它目前正在执行什么语句
select * from t
没有帮助,因为它显示了“select somefunction()”行而不是确切的语句。
有什么办法可以查看是怎么回事吗?
谢谢,h
您可能想要使用PL/PgSQL 调试器- 它应该预装在大多数 PostgreSQL 安装中,并在postgresql.conf
.
或者,考虑RAISE NOTICE
在您希望了解的重要点在您的代码中添加语句。
据我所知,没有工具可以获取活动 SQL 语句的“堆栈跟踪”,包括(可能是嵌套的)函数调用。这会很好,但是AFAIK没有人实现过这样的功能。
这可以帮助你。
CREATE FUNCTION somefunction() 返回 table(query text) as $$ select current_query::text from pg_stat_activity where current_query not like '% somefunction();' $$语言sql;