Make auto_explain print the query identifier in verbose mode
Michael Paquier <michael@paquier.xyz>
Make auto_explain print the query identifier in verbose mode When auto_explain.log_verbose is on, auto_explain should print in the logs plans equivalent to the EXPLAIN (VERBOSE). However, when compute_query_id is on, query identifiers were not showing up, being only handled by EXPLAIN (VERBOSE). This brings auto_explain on par with EXPLAIN regarding that. Note that like EXPLAIN, auto_explain does not show the query identifier when compute_query_id=regress. The change is done so as the choice of printing the query identifier is done in ExplainPrintPlan() rather than in ExplainOnePlan(), to avoid a duplication of the logic dealing with the query ID. auto_explain is the only in-core caller of ExplainPrintPlan(). While looking at the area, I have noticed that more consolidation between EXPLAIN and auto_explain would be in order for the logging of the plan duration and the buffer usage. This refactoring is left as a future change. Author: Atsushi Torikoshi Reviewed-by: Justin Pryzby, Julien Rouhaud Discussion: https://postgr.es/m/1ea21936981f161bccfce05765c03bee@oss.nttdata.com
Files
| Path | Change | +/− |
|---|---|---|
| contrib/auto_explain/t/001_auto_explain.pl | modified | +29 −0 |
| src/backend/commands/explain.c | modified | +16 −16 |
Discussion
- Record queryid when auto_explain.log_verbose is on 16 messages · 2023-01-16 → 2023-03-07