2016-06-21 27 views
1

我写了一个plpgsql函数。 我想看看它生成的确切的SQL查询。我怎么看到由plpgsql生成的SQL

任何想法我怎么能做到这一点?

感谢, 吉尔

+1

咦? plpsql非常*是* SQL。什么是“生成”?你使用'EXECUTE'吗?如果是这样,你可以在'执行'之前报告你用'RAISE NOTICE'生成的查询文本。 –

回答

0

您必须使用的contrib模块auto_explain

如文档中所述加载模块并设置配置参数auto_explain.log_nested_statements = onauto_explain.log_min_duration = 0
警告:这可能会导致繁忙系统上出现大量日志,所以最好在测试系统上进行。

然后运行你的函数,并且函数内执行的SQL语句(连同它们的执行计划)将被写入到服务器日志中。