<literal>force_generic_plan</literal>.
This setting is considered when a cached plan is to be executed,
not when it is prepared.
For more information see <xref linkend="sql-prepare"/>.
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-recursive-worktable-factor" xreflabel="recursive_worktable_factor">
<term><varname>recursive_worktable_factor</varname> (<type>floating point</type>)
<indexterm>
<primary><varname>recursive_worktable_factor</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Sets the planner's estimate of the average size of the working
table of a <link linkend="queries-with-recursive">recursive
query</link>, as a multiple of the estimated size of the initial
non-recursive term of the query. This helps the planner choose
the most appropriate method for joining the working table to the
query's other tables.
The default value is <literal>10.0</literal>. A smaller value
such as <literal>1.0</literal> can be helpful when the recursion
has low <quote>fan-out</quote> from one step to the next, as for
example in shortest-path queries. Graph analytics queries may
benefit from larger-than-default values.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
<sect1 id="runtime-config-logging">
<title>Error Reporting and Logging</title>
<indexterm zone="runtime-config-logging">
<primary>server log</primary>
</indexterm>
<sect2 id="runtime-config-logging-where">
<title>Where to Log</title>
<indexterm zone="runtime-config-logging-where">
<primary>where to log</primary>
</indexterm>
<indexterm>
<primary>current_logfiles</primary>
<secondary>and the log_destination configuration parameter</secondary>
</indexterm>
<variablelist>
<varlistentry id="guc-log-destination" xreflabel="log_destination">
<term><varname>log_destination</varname> (<type>string</type>)
<indexterm>
<primary><varname>log_destination</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
<productname>PostgreSQL</productname> supports several methods
for logging server messages, including
<systemitem>stderr</systemitem>, <systemitem>csvlog</systemitem>,
<systemitem>jsonlog</systemitem>, and
<systemitem>syslog</systemitem>. On Windows,
<systemitem>eventlog</systemitem> is also supported. Set this
parameter to a list of desired log destinations separated by
commas. The default is to log to <systemitem>stderr</systemitem>
only.
This parameter can only be set in the <filename>postgresql.conf</filename>
file or on the server command line.
</para>
<para>
If <systemitem>csvlog</systemitem> is included in <varname>log_destination</varname>,
log entries are output in <quote>comma-separated
value</quote> (<acronym>CSV</acronym>) format, which is convenient for
loading logs into programs.
See <xref linkend="runtime-config-logging-csvlog"/> for details.
<xref linkend="guc-logging-collector"/> must be enabled to generate
CSV-format log output.
</para>
<para>
If <systemitem>jsonlog</systemitem> is included in
<varname>log_destination</varname>, log entries are output in
<acronym>JSON</acronym> format, which is convenient for loading logs
into programs.
See <xref linkend="runtime-config-logging-jsonlog"/> for details.
<xref linkend="guc-logging-collector"/> must be enabled to generate
JSON-format log output.
</para>
<para>
When either <systemitem>stderr</systemitem>,
<systemitem>csvlog</systemitem>