Home Explore Blog CI



postgresql

96th chunk of `doc/src/sgml/config.sgml`
2af3f7d14e6bd5c43e338bce703a529c3cd627a153295f880000000100000faa
 all tables imposes extra
        planning overhead that is quite noticeable on simple queries, and most
        often will yield no benefit for simple queries.  If you have no
        tables that are partitioned using traditional inheritance, you might
        prefer to turn it off entirely.  (Note that the equivalent feature for
        partitioned tables is controlled by a separate parameter,
        <xref linkend="guc-enable-partition-pruning"/>.)
       </para>

       <para>
        Refer to <xref linkend="ddl-partitioning-constraint-exclusion"/> for
        more information on using constraint exclusion to implement
        partitioning.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-cursor-tuple-fraction" xreflabel="cursor_tuple_fraction">
      <term><varname>cursor_tuple_fraction</varname> (<type>floating point</type>)
      <indexterm>
       <primary><varname>cursor_tuple_fraction</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Sets the planner's estimate of the fraction of a cursor's rows that
        will be retrieved.  The default is 0.1.  Smaller values of this
        setting bias the planner towards using <quote>fast start</quote> plans
        for cursors, which will retrieve the first few rows quickly while
        perhaps taking a long time to fetch all rows.  Larger values
        put more emphasis on the total estimated time.  At the maximum
        setting of 1.0, cursors are planned exactly like regular queries,
        considering only the total estimated time and not how soon the
        first rows might be delivered.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-from-collapse-limit" xreflabel="from_collapse_limit">
      <term><varname>from_collapse_limit</varname> (<type>integer</type>)
      <indexterm>
       <primary><varname>from_collapse_limit</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        The planner will merge sub-queries into upper queries if the
        resulting <literal>FROM</literal> list would have no more than
        this many items.  Smaller values reduce planning time but might
        yield inferior query plans.  The default is eight.
        For more information see <xref linkend="explicit-joins"/>.
       </para>

       <para>
        Setting this value to <xref linkend="guc-geqo-threshold"/> or more
        may trigger use of the GEQO planner, resulting in non-optimal
        plans.  See <xref linkend="runtime-config-query-geqo"/>.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-jit" xreflabel="jit">
      <term><varname>jit</varname> (<type>boolean</type>)
      <indexterm>
       <primary><varname>jit</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Determines whether <acronym>JIT</acronym> compilation may be used by
        <productname>PostgreSQL</productname>, if available (see <xref
        linkend="jit"/>).
        The default is <literal>on</literal>.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-join-collapse-limit" xreflabel="join_collapse_limit">
      <term><varname>join_collapse_limit</varname> (<type>integer</type>)
      <indexterm>
       <primary><varname>join_collapse_limit</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        The planner will rewrite explicit <literal>JOIN</literal>
        constructs (except <literal>FULL JOIN</literal>s) into lists of
        <literal>FROM</literal> items whenever a list of no more than this many items
        would result.  Smaller values reduce planning time but might
        yield inferior query plans.
       </para>

       <para>
        By default, this variable is set the same as
        <varname>from_collapse_limit</varname>,

Title: More Planner Options: Cursor Tuple Fraction, From Collapse Limit, JIT, and Join Collapse Limit
Summary
This section describes additional query planner options including `cursor_tuple_fraction` which estimates the fraction of cursor rows to be retrieved, influencing the choice of 'fast start' plans; `from_collapse_limit`, which controls sub-query merging into upper queries; `jit`, which enables or disables JIT compilation if available; and `join_collapse_limit`, which controls rewriting explicit JOIN constructs into FROM lists.