我当前正在尝试获取查询返回的行以及一些度量标准(例如查询复杂度),以验证查询的正确性和效率。有没有一种方法可以同时获取行和查询计划,而不必运行两次查询?
我在dba上看到了这个post,但是我不确定是否可以获取行。
答案 0 :(得分:3)
方法是通过将auto_explain加载为
LOAD 'auto_explain';
SET auto_explain.analyze_threshold=on;
SET auto_explain.log_min_duration=0;
这样,EXPLAIN ANALYZE
计划被打印到日志中,并且您在客户端中获得了查询结果。请注意,这些步骤只会为您的会话激活auto_explain。如果要使用全局auto_explain,则需要更新postgresql.conf
文档中的更多信息:https://www.postgresql.org/docs/current/auto-explain.html
披露:我为EnterpriseDB (EDB)工作