@@ -81,43 +81,53 @@ LOAD 'auto_explain';
8181 When this parameter is on, per-plan-node timing occurs for all
8282 statements executed, whether or not they run long enough to actually
8383 get logged. This can have an extremely negative impact on performance.
84+ Turning off <varname>auto_explain.log_timing</varname> ameliorates the
85+ performance cost, at the price of obtaining less information.
8486 </para>
8587 </note>
8688 </listitem>
8789 </varlistentry>
8890
8991 <varlistentry>
9092 <term>
91- <varname>auto_explain.log_verbose </varname> (<type>boolean</type>)
93+ <varname>auto_explain.log_buffers </varname> (<type>boolean</type>)
9294 <indexterm>
93- <primary><varname>auto_explain.log_verbose </> configuration parameter</primary>
95+ <primary><varname>auto_explain.log_buffers </> configuration parameter</primary>
9496 </indexterm>
9597 </term>
9698 <listitem>
9799 <para>
98- <varname>auto_explain.log_verbose</varname> causes <command>EXPLAIN VERBOSE</>
99- output, rather than just <command>EXPLAIN</> output, to be printed
100- when an execution plan is logged. This parameter is off by default.
100+ <varname>auto_explain.log_buffers</varname> controls whether buffer
101+ usage statistics are printed when an execution plan is logged; it's
102+ equivalent to the <literal>BUFFERS</> option of <command>EXPLAIN</>.
103+ This parameter has no effect
104+ unless <varname>auto_explain.log_analyze</varname> is enabled.
105+ This parameter is off by default.
101106 Only superusers can change this setting.
102107 </para>
103108 </listitem>
104109 </varlistentry>
105110
106111 <varlistentry>
107112 <term>
108- <varname>auto_explain.log_buffers </varname> (<type>boolean</type>)
113+ <varname>auto_explain.log_timing </varname> (<type>boolean</type>)
109114 <indexterm>
110- <primary><varname>auto_explain.log_buffers </> configuration parameter</primary>
115+ <primary><varname>auto_explain.log_timing </> configuration parameter</primary>
111116 </indexterm>
112117 </term>
113118 <listitem>
114119 <para>
115- <varname>auto_explain.log_buffers</varname> causes <command>EXPLAIN
116- (ANALYZE, BUFFERS)</> output, rather than just <command>EXPLAIN</>
117- output, to be printed when an execution plan is logged. This parameter is
118- off by default. Only superusers can change this setting. This
119- parameter has no effect unless <varname>auto_explain.log_analyze</>
120- parameter is set.
120+ <varname>auto_explain.log_timing</varname> controls whether per-node
121+ timing information is printed when an execution plan is logged; it's
122+ equivalent to the <literal>TIMING</> option of <command>EXPLAIN</>.
123+ The overhead of repeatedly reading the system clock can slow down
124+ queries significantly on some systems, so it may be useful to set this
125+ parameter to off when only actual row counts, and not exact times, are
126+ needed.
127+ This parameter has no effect
128+ unless <varname>auto_explain.log_analyze</varname> is enabled.
129+ This parameter is on by default.
130+ Only superusers can change this setting.
121131 </para>
122132 </listitem>
123133 </varlistentry>
@@ -133,52 +143,50 @@ LOAD 'auto_explain';
133143 <para>
134144 <varname>auto_explain.log_triggers</varname> causes trigger
135145 execution statistics to be included when an execution plan is logged.
136- This parameter is off by default. Only superusers can change this
137- setting. This parameter has no effect unless
138- <varname>auto_explain.log_analyze</> parameter is set.
146+ This parameter has no effect
147+ unless <varname>auto_explain.log_analyze</varname> is enabled.
148+ This parameter is off by default.
149+ Only superusers can change this setting.
139150 </para>
140151 </listitem>
141152 </varlistentry>
142153
143154 <varlistentry>
144155 <term>
145- <varname>auto_explain.log_format </varname> (<type>enum </type>)
156+ <varname>auto_explain.log_verbose </varname> (<type>boolean </type>)
146157 <indexterm>
147- <primary><varname>auto_explain.log_format </> configuration parameter</primary>
158+ <primary><varname>auto_explain.log_verbose </> configuration parameter</primary>
148159 </indexterm>
149160 </term>
150161 <listitem>
151162 <para>
152- <varname>auto_explain.log_format </varname> selects the
153- <command>EXPLAIN</> output format to be used.
154- The allowed values are <literal>text</literal>, <literal>xml</literal>,
155- <literal>json</literal>, and <literal>yaml</literal>. The default is text .
163+ <varname>auto_explain.log_verbose </varname> controls whether verbose
164+ details are printed when an execution plan is logged; it's
165+ equivalent to the <literal>VERBOSE</> option of <command>EXPLAIN</>.
166+ This parameter is off by default.
156167 Only superusers can change this setting.
157168 </para>
158169 </listitem>
159170 </varlistentry>
160171
161172 <varlistentry>
162173 <term>
163- <varname>auto_explain.log_timing </varname> (<type>boolean </type>)
174+ <varname>auto_explain.log_format </varname> (<type>enum </type>)
164175 <indexterm>
165- <primary><varname>auto_explain.log_timing </> configuration parameter</primary>
176+ <primary><varname>auto_explain.log_format </> configuration parameter</primary>
166177 </indexterm>
167178 </term>
168179 <listitem>
169180 <para>
170- <varname>auto_explain.log_timing</varname> causes <command>EXPLAIN
171- (ANALYZE, TIMING off)</> output, rather than just <command>EXPLAIN (ANALYZE)</>
172- output. The overhead of repeatedly reading the system clock can slow down the
173- query significantly on some systems, so it may be useful to set this
174- parameter to off when only actual row counts, and not exact times, are needed.
175- This parameter is only effective when <varname>auto_explain.log_analyze</varname>
176- is also enabled. This parameter is on by default.
181+ <varname>auto_explain.log_format</varname> selects the
182+ <command>EXPLAIN</> output format to be used.
183+ The allowed values are <literal>text</literal>, <literal>xml</literal>,
184+ <literal>json</literal>, and <literal>yaml</literal>. The default is text.
177185 Only superusers can change this setting.
178186 </para>
179187 </listitem>
180188 </varlistentry>
181-
189+
182190 <varlistentry>
183191 <term>
184192 <varname>auto_explain.log_nested_statements</varname> (<type>boolean</type>)
@@ -198,7 +206,9 @@ LOAD 'auto_explain';
198206 </variablelist>
199207
200208 <para>
201- These parameters must be set in <filename>postgresql.conf</>.
209+ In ordinary usage, these parameters are set
210+ in <filename>postgresql.conf</>, although superusers can alter them
211+ on-the-fly within their own sessions.
202212 Typical usage might be:
203213 </para>
204214
@@ -216,6 +226,7 @@ auto_explain.log_min_duration = '3s'
216226<programlisting>
217227postgres=# LOAD 'auto_explain';
218228postgres=# SET auto_explain.log_min_duration = 0;
229+ postgres=# SET auto_explain.log_analyze = true;
219230postgres=# SELECT count(*)
220231 FROM pg_class, pg_index
221232 WHERE oid = indrelid AND indisunique;
0 commit comments