number of nodes whose memory usage is restricted by
<varname>work_mem</varname> appearing in the final plan can increase
linearly according to the number of partitions being scanned. This
can result in a large increase in overall memory consumption during
the execution of the query. Query planning also becomes significantly
more expensive in terms of memory and CPU. The default value is
<literal>off</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-enable-presorted-aggregate" xreflabel="enable_presorted_aggregate">
<term><varname>enable_presorted_aggregate</varname> (<type>boolean</type>)
<indexterm>
<primary><varname>enable_presorted_aggregate</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Controls if the query planner will produce a plan which will provide
rows which are presorted in the order required for the query's
<literal>ORDER BY</literal> / <literal>DISTINCT</literal> aggregate
functions. When disabled, the query planner will produce a plan which
will always require the executor to perform a sort before performing
aggregation of each aggregate function containing an
<literal>ORDER BY</literal> or <literal>DISTINCT</literal> clause.
When enabled, the planner will try to produce a more efficient plan
which provides input to the aggregate functions which is presorted in
the order they require for aggregation. The default value is
<literal>on</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-enable_self_join_elimination" xreflabel="enable_self_join_elimination">
<term><varname>enable_self_join_elimination</varname> (<type>boolean</type>)
<indexterm>
<primary><varname>enable_self_join_elimination</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Enables or disables the query planner's optimization which analyses
the query tree and replaces self joins with semantically equivalent
single scans. Takes into consideration only plain tables.
The default is <literal>on</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-enable-seqscan" xreflabel="enable_seqscan">
<term><varname>enable_seqscan</varname> (<type>boolean</type>)
<indexterm>
<primary>sequential scan</primary>
</indexterm>
<indexterm>
<primary><varname>enable_seqscan</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Enables or disables the query planner's use of sequential scan
plan types. It is impossible to suppress sequential scans
entirely, but turning this variable off discourages the planner
from using one if there are other methods available. The
default is <literal>on</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-enable-sort" xreflabel="enable_sort">
<term><varname>enable_sort</varname> (<type>boolean</type>)
<indexterm>
<primary><varname>enable_sort</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Enables or disables the query planner's use of explicit sort
steps. It is impossible to suppress explicit sorts entirely,
but turning this variable off discourages the planner from
using one if there are other methods available. The default
is <literal>on</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry id="guc-enable-tidscan" xreflabel="enable_tidscan">
<term><varname>enable_tidscan</varname> (<type>boolean</type>)
<indexterm>
<primary><varname>enable_tidscan</varname>