When this parameter is on, per-plan-node timing occurs for all
statements executed, whether or not they run long enough to actually
get logged. This can have an extremely negative impact on performance.
+ Turning off auto_explain.log_timing ameliorates the
+ performance cost, at the price of obtaining less information.
- auto_explain.log_verbose (boolean)
+ auto_explain.log_buffers (boolean)
-
auto_explain.log_verbose> configuration parameter
+
auto_explain.log_buffers> configuration parameter
- auto_explain.log_verbose causes EXPLAIN VERBOSE>
- output, rather than just EXPLAIN> output, to be printed
- when an execution plan is logged. This parameter is off by default.
+ auto_explain.log_buffers controls whether buffer
+ usage statistics are printed when an execution plan is logged; it's
+ equivalent to the BUFFERS> option of EXPLAIN>.
+ This parameter has no effect
+ unless auto_explain.log_analyze is enabled.
+ This parameter is off by default.
Only superusers can change this setting.
- auto_explain.log_buffers (boolean)
+ auto_explain.log_timing (boolean)
-
auto_explain.log_buffers> configuration parameter
+
auto_explain.log_timing> configuration parameter
- auto_explain.log_buffers causes EXPLAIN
- (ANALYZE, BUFFERS)> output, rather than just EXPLAIN>
- output, to be printed when an execution plan is logged. This parameter is
- off by default. Only superusers can change this setting. This
- parameter has no effect unless auto_explain.log_analyze>
- parameter is set.
+ auto_explain.log_timing controls whether per-node
+ timing information is printed when an execution plan is logged; it's
+ equivalent to the TIMING> option of EXPLAIN>.
+ The overhead of repeatedly reading the system clock can slow down
+ queries significantly on some systems, so it may be useful to set this
+ parameter to off when only actual row counts, and not exact times, are
+ needed.
+ This parameter has no effect
+ unless auto_explain.log_analyze is enabled.
+ This parameter is on by default.
+ Only superusers can change this setting.
auto_explain.log_triggers causes trigger
execution statistics to be included when an execution plan is logged.
- This parameter is off by default. Only superusers can change this
- setting. This parameter has no effect unless
- auto_explain.log_analyze> parameter is set.
+ This parameter has no effect
+ unless auto_explain.log_analyze is enabled.
+ This parameter is off by default.
+ Only superusers can change this setting.
- auto_explain.log_format (enum)
+ auto_explain.log_verbose (boolean)
-
auto_explain.log_format> configuration parameter
+
auto_explain.log_verbose> configuration parameter
- auto_explain.log_format selects the
- EXPLAIN> output format to be used.
- The allowed values are text, xml,
- json, and yaml. The default is text.
+ auto_explain.log_verbose controls whether verbose
+ details are printed when an execution plan is logged; it's
+ equivalent to the VERBOSE> option of EXPLAIN>.
+ This parameter is off by default.
Only superusers can change this setting.
- auto_explain.log_timing (boolean)
+ auto_explain.log_format (enum)
-
auto_explain.log_timing> configuration parameter
+
auto_explain.log_format> configuration parameter
- auto_explain.log_timing causes EXPLAIN
- (ANALYZE, TIMING off)> output, rather than just EXPLAIN (ANALYZE)>
- output. The overhead of repeatedly reading the system clock can slow down the
- query significantly on some systems, so it may be useful to set this
- parameter to off when only actual row counts, and not exact times, are needed.
- This parameter is only effective when auto_explain.log_analyze
- is also enabled. This parameter is on by default.
+ auto_explain.log_format selects the
+ EXPLAIN> output format to be used.
+ The allowed values are text, xml,
+ json, and yaml. The default is text.
Only superusers can change this setting.
-
+
auto_explain.log_nested_statements (boolean)
- These parameters must be set in postgresql.conf>.
+ In ordinary usage, these parameters are set
+ in postgresql.conf>, although superusers can alter them
+ on-the-fly within their own sessions.
Typical usage might be:
postgres=# LOAD 'auto_explain';
postgres=# SET auto_explain.log_min_duration = 0;
+postgres=# SET auto_explain.log_analyze = true;
postgres=# SELECT count(*)
FROM pg_class, pg_index
WHERE oid = indrelid AND indisunique;