Home Explore Blog CI



postgresql

92th chunk of `doc/src/sgml/config.sgml`
abd37e101693af78b1d61aab55611b90c2ddbe1b5b05b78e0000000100000fa1
 does it reserve kernel disk cache; it is used only for estimation
        purposes.  The system also does not assume data remains in
        the disk cache between queries.
        If this value is specified without units, it is taken as blocks,
        that is <symbol>BLCKSZ</symbol> bytes, typically 8kB.
        The default is 4 gigabytes (<literal>4GB</literal>).
        (If <symbol>BLCKSZ</symbol> is not 8kB, the default value scales
        proportionally to it.)
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-jit-above-cost" xreflabel="jit_above_cost">
      <term><varname>jit_above_cost</varname> (<type>floating point</type>)
      <indexterm>
       <primary><varname>jit_above_cost</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Sets the query cost above which JIT compilation is activated, if
        enabled (see <xref linkend="jit"/>).
        Performing <acronym>JIT</acronym> costs planning time but can
        accelerate query execution.
        Setting this to <literal>-1</literal> disables JIT compilation.
        The default is <literal>100000</literal>.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-jit-inline-above-cost" xreflabel="jit_inline_above_cost">
      <term><varname>jit_inline_above_cost</varname> (<type>floating point</type>)
      <indexterm>
       <primary><varname>jit_inline_above_cost</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Sets the query cost above which JIT compilation attempts to inline
        functions and operators.  Inlining adds planning time, but can
        improve execution speed.  It is not meaningful to set this to less
        than <varname>jit_above_cost</varname>.
        Setting this to <literal>-1</literal> disables inlining.
        The default is <literal>500000</literal>.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-jit-optimize-above-cost" xreflabel="jit_optimize_above_cost">
      <term><varname>jit_optimize_above_cost</varname> (<type>floating point</type>)
      <indexterm>
       <primary><varname>jit_optimize_above_cost</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Sets the query cost above which JIT compilation applies expensive
        optimizations.  Such optimization adds planning time, but can improve
        execution speed.  It is not meaningful to set this to less
        than <varname>jit_above_cost</varname>, and it is unlikely to be
        beneficial to set it to more
        than <varname>jit_inline_above_cost</varname>.
        Setting this to <literal>-1</literal> disables expensive optimizations.
        The default is <literal>500000</literal>.
       </para>
      </listitem>
     </varlistentry>

     </variablelist>

    </sect2>
     <sect2 id="runtime-config-query-geqo">
     <title>Genetic Query Optimizer</title>

     <para>
      The genetic query optimizer (GEQO) is an algorithm that does query
      planning using heuristic searching.  This reduces planning time for
      complex queries (those joining many relations), at the cost of producing
      plans that are sometimes inferior to those found by the normal
      exhaustive-search algorithm.
      For more information see <xref linkend="geqo"/>.
     </para>

     <variablelist>

     <varlistentry id="guc-geqo" xreflabel="geqo">
      <term><varname>geqo</varname> (<type>boolean</type>)
      <indexterm>
       <primary>genetic query optimization</primary>
      </indexterm>
      <indexterm>
       <primary>GEQO</primary>
       <see>genetic query optimization</see>
      </indexterm>
      <indexterm>
       <primary><varname>geqo</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Enables or disables genetic

Title: Planner Cost Constants: JIT Compilation and Genetic Query Optimizer (GEQO)
Summary
This section details configuration parameters related to JIT compilation and the Genetic Query Optimizer (GEQO). `jit_above_cost` sets the query cost threshold for activating JIT compilation. `jit_inline_above_cost` and `jit_optimize_above_cost` control JIT inlining and optimization respectively, impacting planning time and execution speed. The section also introduces GEQO, an algorithm for query planning using heuristic searching, enabled or disabled by the `geqo` parameter. GEQO reduces planning time for complex queries but may produce less optimal plans compared to exhaustive search.