Home Explore Blog CI



postgresql

94th chunk of `doc/src/sgml/config.sgml`
3a8986e5cf60767bbb6806e4550a4892f19d1ed2d68558510000000100000fa2
 directly; it is only used to compute the default values for
        the other variables that influence GEQO behavior (described
        below). If you prefer, you can set the other parameters by
        hand instead.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-geqo-pool-size" xreflabel="geqo_pool_size">
      <term><varname>geqo_pool_size</varname> (<type>integer</type>)
      <indexterm>
       <primary><varname>geqo_pool_size</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Controls the pool size used by GEQO, that is the
        number of individuals in the genetic population.  It must be
        at least two, and useful values are typically 100 to 1000.  If
        it is set to zero (the default setting) then a suitable
        value is chosen based on <varname>geqo_effort</varname> and
        the number of tables in the query.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-geqo-generations" xreflabel="geqo_generations">
      <term><varname>geqo_generations</varname> (<type>integer</type>)
      <indexterm>
       <primary><varname>geqo_generations</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Controls the number of generations used by GEQO, that is
        the number of iterations of the algorithm.  It must
        be at least one, and useful values are in the same range as
        the pool size.  If it is set to zero (the default setting)
        then a suitable value is chosen based on
        <varname>geqo_pool_size</varname>.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-geqo-selection-bias" xreflabel="geqo_selection_bias">
      <term><varname>geqo_selection_bias</varname> (<type>floating point</type>)
      <indexterm>
       <primary><varname>geqo_selection_bias</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Controls the selection bias used by GEQO. The selection bias
        is the selective pressure within the population. Values can be
        from 1.50 to 2.00; the latter is the default.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-geqo-seed" xreflabel="geqo_seed">
      <term><varname>geqo_seed</varname> (<type>floating point</type>)
      <indexterm>
       <primary><varname>geqo_seed</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Controls the initial value of the random number generator used
        by GEQO to select random paths through the join order search space.
        The value can range from zero (the default) to one.  Varying the
        value changes the set of join paths explored, and may result in a
        better or worse best path being found.
       </para>
      </listitem>
     </varlistentry>

     </variablelist>
    </sect2>
     <sect2 id="runtime-config-query-other">
     <title>Other Planner Options</title>

     <variablelist>

     <varlistentry id="guc-default-statistics-target" xreflabel="default_statistics_target">
      <term><varname>default_statistics_target</varname> (<type>integer</type>)
      <indexterm>
       <primary><varname>default_statistics_target</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Sets the default statistics target for table columns without
        a column-specific target set via <command>ALTER TABLE
        SET STATISTICS</command>.  Larger values increase the time needed to
        do <command>ANALYZE</command>, but might improve the quality of the
        planner's estimates. The default is 100. For more information
        on the use of statistics by the <productname>PostgreSQL</productname>
        query planner, refer to <xref linkend="planner-stats"/>.
       </para>

Title: GEQO Configuration Parameters: Pool Size, Generations, Selection Bias, and Seed
Summary
This section details further configuration parameters for the Genetic Query Optimizer (GEQO). It describes `geqo_pool_size`, which controls the number of individuals in the genetic population; `geqo_generations`, which sets the number of iterations of the GEQO algorithm; `geqo_selection_bias`, which determines the selective pressure within the population; and `geqo_seed`, which controls the initial value of the random number generator, influencing the join paths explored. Finally, it moves on to describe `default_statistics_target` which sets the default statistics target for table columns.