Euler Taveira de Oliveira escribió:

> (i) I don't like this construction "by entries by changing storage
> parameters". I prefer "by changing storage parameters" or "by entries in
> pg_class.reloptions";

Heh, obvious "by entries by" is a cut'n'pasto; fixed.

Maybe an xref would be better there.  I attach the doc patch again; I
fiddled a bit with it this morning.  Comments?

> (ii) I think we should change the expression "storage parameters" for
> something else because autovacuum is related to maintenance. My suggestion is
> a general expression like "relation parameters";

I'm not sure I agree with this idea, because the term "storage
parameter" has been used for several releases already.  This would be a
relatively major terminology change.

> (iii) I noticed that GUC defaults and relopt defaults are different
> (autovacuum_cost_delay and autovacuum_cost_limit). Is there any reason for not
> using -1?

Yeah, -1 does not make sense.  It made sense in pg_autovacuum because
otherwise you didn't have to specify "skip this setting and use the
default".  In reloptions, if you don't want to specify the setting, just
don't specify it.

> (iv) Maybe we should document that pg_dump will only dump reloptions like
> toast.foo iff the relation has an associated TOAST table. This seems obvious
> but ...

Well, if it doesn't have a toast table, then there's no need for toast
settings, is there?  I mean, you could construe it as a gotcha: if you
CREATE TABLE with only fixed-length columns and specify some reloptions,
and later add a column that requires a toast table, it won't have the
options you set at CREATE time.  However, it seems to me to be very low
in the importance scale.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
*** doc/src/sgml/catalogs.sgml	4 Feb 2009 21:30:41 -0000	2.194
--- doc/src/sgml/catalogs.sgml	5 Feb 2009 18:32:40 -0000
***************
*** 89,99 ****
       </row>
  
       <row>
-       <entry><link linkend="catalog-pg-autovacuum"><structname>pg_autovacuum</structname></link></entry>
-       <entry>per-relation autovacuum configuration parameters</entry>
-      </row>
- 
-      <row>
        <entry><link linkend="catalog-pg-cast"><structname>pg_cast</structname></link></entry>
        <entry>casts (data type conversions)</entry>
       </row>
--- 89,94 ----
***************
*** 1256,1433 ****
   </sect1>
  
  
-  <sect1 id="catalog-pg-autovacuum">
-   <title><structname>pg_autovacuum</structname></title>
- 
-   <indexterm zone="catalog-pg-autovacuum">
-    <primary>pg_autovacuum</primary>
-   </indexterm>
- 
-   <indexterm zone="catalog-pg-autovacuum">
-    <primary>autovacuum</primary>
-    <secondary>table-specific configuration</secondary>
-   </indexterm>
- 
-   <para>
-    The catalog <structname>pg_autovacuum</structname> stores optional
-    per-relation configuration parameters for the autovacuum daemon.
-    If there is an entry here for a particular relation, the given
-    parameters will be used for autovacuuming that table.  If no entry
-    is present, the system-wide defaults will be used. For more information
-    about the autovacuum daemon, see <xref linkend="autovacuum">.
-   </para>
- 
-   <note>
-    <para>
-     It is likely that <structname>pg_autovacuum</structname> will disappear
-     in a future release, with the information instead being kept in
-     <structname>pg_class</>.<structfield>reloptions</> entries.
-    </para>
-   </note>
- 
-   <table>
-    <title><structname>pg_autovacuum</> Columns</title>
- 
-    <tgroup cols="4">
-     <thead>
-      <row>
-       <entry>Name</entry>
-       <entry>Type</entry>
-       <entry>References</entry>
-       <entry>Description</entry>
-      </row>
-     </thead>
- 
-     <tbody>
-      <row>
-       <entry><structfield>vacrelid</structfield></entry>
-       <entry><type>oid</type></entry>
-       <entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
-       <entry>The table this entry is for</entry>
-      </row>
- 
-      <row>
-       <entry><structfield>enabled</structfield></entry>
-       <entry><type>bool</type></entry>
-       <entry></entry>
-       <entry>If false, this table will not be autovacuumed, except
-        to prevent transaction ID wraparound</entry>
-      </row>
- 
-      <row>
-       <entry><structfield>vac_base_thresh</structfield></entry>
-       <entry><type>integer</type></entry>
-       <entry></entry>
-       <entry>Minimum number of modified tuples before vacuum</entry>
-      </row>
- 
-      <row>
-       <entry><structfield>vac_scale_factor</structfield></entry>
-       <entry><type>float4</type></entry>
-       <entry></entry>
-       <entry>Multiplier for <structfield>reltuples</> to add to
-        <structfield>vac_base_thresh</></entry>
-      </row>
- 
-      <row>
-       <entry><structfield>anl_base_thresh</structfield></entry>
-       <entry><type>integer</type></entry>
-       <entry></entry>
-       <entry>Minimum number of modified tuples before analyze</entry>
-      </row>
- 
-      <row>
-       <entry><structfield>anl_scale_factor</structfield></entry>
-       <entry><type>float4</type></entry>
-       <entry></entry>
-       <entry>Multiplier for <structfield>reltuples</> to add to
-        <structfield>anl_base_thresh</></entry>
-      </row>
- 
-      <row>
-       <entry><structfield>vac_cost_delay</structfield></entry>
-       <entry><type>integer</type></entry>
-       <entry></entry>
-       <entry>Custom <varname>vacuum_cost_delay</> parameter</entry>
-      </row>
- 
-      <row>
-       <entry><structfield>vac_cost_limit</structfield></entry>
-       <entry><type>integer</type></entry>
-       <entry></entry>
-       <entry>Custom <varname>vacuum_cost_limit</> parameter</entry>
-      </row>
- 
-      <row>
-       <entry><structfield>freeze_min_age</structfield></entry>
-       <entry><type>integer</type></entry>
-       <entry></entry>
-       <entry>Custom <varname>vacuum_freeze_min_age</> parameter</entry>
-      </row>
- 
-      <row>
-       <entry><structfield>freeze_max_age</structfield></entry>
-       <entry><type>integer</type></entry>
-       <entry></entry>
-       <entry>Custom <varname>autovacuum_freeze_max_age</> parameter</entry>
-      </row>
- 
-      <row>
-       <entry><structfield>freeze_table_age</structfield></entry>
-       <entry><type>integer</type></entry>
-       <entry></entry>
-       <entry>Custom <varname>vacuum_freeze_table_age</> parameter</entry>
-      </row>
-     </tbody>
-    </tgroup>
-   </table>
- 
-   <para>
-    The autovacuum daemon will initiate a <command>VACUUM</> operation
-    on a particular table when the number of updated or deleted tuples
-    exceeds <structfield>vac_base_thresh</structfield> plus
-    <structfield>vac_scale_factor</structfield> times the number of
-    live tuples currently estimated to be in the relation.
-    Similarly, it will initiate an <command>ANALYZE</> operation
-    when the number of inserted, updated or deleted tuples
-    exceeds <structfield>anl_base_thresh</structfield> plus
-    <structfield>anl_scale_factor</structfield> times the number of
-    live tuples currently estimated to be in the relation.
-   </para>
- 
-   <para>
-    Also, the autovacuum daemon will perform a <command>VACUUM</> operation
-    to prevent transaction ID wraparound if the table's
-    <structname>pg_class</>.<structfield>relfrozenxid</> field attains an age
-    of more than <structfield>freeze_max_age</> transactions, whether the table
-    has been changed or not, even if
-    <structname>pg_autovacuum</>.<structfield>enabled</> is set to
-    <literal>false</> for it.  The system will launch autovacuum to perform
-    such <command>VACUUM</>s even if autovacuum is otherwise disabled.
-    See <xref linkend="vacuum-for-wraparound"> for more about wraparound
-    prevention.
-   </para>
- 
-   <para>
-    Any of the numerical fields can contain <literal>-1</> (or indeed
-    any negative value) to indicate that the system-wide default should
-    be used for this particular value.  Observe that the
-    <structfield>vac_cost_delay</> variable inherits its default value from the
-    <xref linkend="guc-autovacuum-vacuum-cost-delay"> configuration parameter,
-    or from <xref linkend="guc-vacuum-cost-delay"> if the former is set to a
-    negative value.  The same applies to <structfield>vac_cost_limit</>.
-    Also, autovacuum will ignore attempts to set a per-table
-    <structfield>freeze_max_age</> larger than the system-wide setting (it can
-    only be set smaller), and the <structfield>freeze_min_age</> value will be
-    limited to half the system-wide <xref
-    linkend="guc-autovacuum-freeze-max-age"> setting.  Note that while you
-    can set <structfield>freeze_max_age</> very small, or even zero, this
-    is usually unwise since it will force frequent vacuuming.
-   </para>
- 
-  </sect1>
- 
- 
   <sect1 id="catalog-pg-cast">
    <title><structname>pg_cast</structname></title>
  
--- 1251,1256 ----
*** doc/src/sgml/config.sgml	16 Jan 2009 13:27:23 -0000	1.206
--- doc/src/sgml/config.sgml	6 Feb 2009 17:27:58 -0000
***************
*** 3547,3554 ****
          The default is 50 tuples.
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by entries in
!         <structname>pg_autovacuum</>.
         </para>
        </listitem>
       </varlistentry>
--- 3547,3554 ----
          The default is 50 tuples.
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by
!         changing storage parameters.
         </para>
        </listitem>
       </varlistentry>
***************
*** 3565,3572 ****
          The default is 50 tuples.
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by entries in
!         <structname>pg_autovacuum</>.
         </para>
        </listitem>
       </varlistentry>
--- 3565,3572 ----
          The default is 50 tuples.
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by
!         changing storage parameters.
         </para>
        </listitem>
       </varlistentry>
***************
*** 3584,3591 ****
          The default is 0.2 (20% of table size).
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by entries in
!         <structname>pg_autovacuum</>.
         </para>
        </listitem>
       </varlistentry>
--- 3584,3591 ----
          The default is 0.2 (20% of table size).
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by
!         changing storage parameters.
         </para>
        </listitem>
       </varlistentry>
***************
*** 3603,3610 ****
          The default is 0.1 (10% of table size).
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by entries in
!         <structname>pg_autovacuum</>.
         </para>
        </listitem>
       </varlistentry>
--- 3603,3610 ----
          The default is 0.1 (10% of table size).
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by
!         changing storage parameters.
         </para>
        </listitem>
       </varlistentry>
***************
*** 3624,3631 ****
          autovacuum is otherwise disabled.
          The default is 200 million transactions.
          This parameter can only be set at server start, but the setting
!         can be reduced for individual tables by entries in
!         <structname>pg_autovacuum</>.
          For more information see <xref linkend="vacuum-for-wraparound">.
         </para>
        </listitem>
--- 3624,3631 ----
          autovacuum is otherwise disabled.
          The default is 200 million transactions.
          This parameter can only be set at server start, but the setting
!         can be reduced for individual tables by
!         changing storage parameters.
          For more information see <xref linkend="vacuum-for-wraparound">.
         </para>
        </listitem>
***************
*** 3645,3652 ****
          The default value is 20 milliseconds.
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by entries in
!         <structname>pg_autovacuum</>.
         </para>
        </listitem>
       </varlistentry>
--- 3645,3652 ----
          The default value is 20 milliseconds.
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by
!         changing storage parameters.
         </para>
        </listitem>
       </varlistentry>
***************
*** 3667,3674 ****
          each worker never exceeds the limit on this variable.
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by entries in
!         <structname>pg_autovacuum</>.
         </para>
        </listitem>
       </varlistentry>
--- 3667,3674 ----
          each worker never exceeds the limit on this variable.
          This parameter can only be set in the <filename>postgresql.conf</>
          file or on the server command line.
!         This setting can be overridden for individual tables by
!         changing storage parameters.
         </para>
        </listitem>
       </varlistentry>
*** doc/src/sgml/maintenance.sgml	16 Jan 2009 13:27:23 -0000	1.89
--- doc/src/sgml/maintenance.sgml	6 Feb 2009 14:26:44 -0000
***************
*** 573,579 ****
     <para>
      Tables whose <structfield>relfrozenxid</> value is more than
      <varname>autovacuum_freeze_max_age</> transactions old are always
!     vacuumed.  Otherwise, if the number of tuples obsoleted since the last
      <command>VACUUM</command> exceeds the <quote>vacuum threshold</quote>, the
      table is vacuumed.  The vacuum threshold is defined as:
  <programlisting>
--- 573,581 ----
     <para>
      Tables whose <structfield>relfrozenxid</> value is more than
      <varname>autovacuum_freeze_max_age</> transactions old are always
!     vacuumed (this also applies to those tables whose freeze max age has
!     been modified via storage parameters; see below).  Otherwise, if the
!     number of tuples obsoleted since the last
      <command>VACUUM</command> exceeds the <quote>vacuum threshold</quote>, the
      table is vacuumed.  The vacuum threshold is defined as:
  <programlisting>
***************
*** 604,669 ****
     <para>
      The default thresholds and scale factors are taken from
      <filename>postgresql.conf</filename>, but it is possible to override them
!     on a table-by-table basis by making entries in the system catalog
!     <link
!     linkend="catalog-pg-autovacuum"><structname>pg_autovacuum</></link>.
!     If a <structname>pg_autovacuum</structname> row exists for a particular
!     table, the settings it specifies are applied; otherwise the global
!     settings are used.  See <xref linkend="runtime-config-autovacuum"> for
      more details on the global settings.
     </para>
  
     <para>
!     Besides the base threshold values and scale factors, there are five
!     more parameters that can be set for each table in
!     <structname>pg_autovacuum</structname>.
!     The first, <structname>pg_autovacuum</>.<structfield>enabled</>,
      can be set to <literal>false</literal> to instruct the autovacuum daemon
      to skip that particular table entirely.  In this case
      autovacuum will only touch the table if it must do so
      to prevent transaction ID wraparound.
!     The next two parameters, the vacuum cost delay
!     (<structname>pg_autovacuum</structname>.<structfield>vac_cost_delay</structfield>)
!     and the vacuum cost limit
!     (<structname>pg_autovacuum</structname>.<structfield>vac_cost_limit</structfield>),
!     are used to set table-specific values for the
!     <xref linkend="runtime-config-resource-vacuum-cost" endterm="runtime-config-resource-vacuum-cost-title">
      feature.
!     The last two parameters,
!     (<structname>pg_autovacuum</structname>.<structfield>freeze_min_age</structfield>)
!     and
!     (<structname>pg_autovacuum</structname>.<structfield>freeze_max_age</structfield>),
!     are used to set table-specific values for
!     <xref linkend="guc-vacuum-freeze-min-age"> and
!     <xref linkend="guc-autovacuum-freeze-max-age"> respectively.
     </para>
  
     <para>
-     If any of the values in <structname>pg_autovacuum</structname>
-     are set to a negative number, or if a row is not present at all in
-     <structname>pg_autovacuum</structname> for any particular table, the
-     corresponding values from <filename>postgresql.conf</filename> are used.
-    </para>
- 
-    <para>
-     There is not currently any support for making
-     <structname>pg_autovacuum</structname> entries, except by doing
-     manual <command>INSERT</>s into the catalog.  This feature will be
-     improved in future releases, and it is likely that the catalog
-     definition will change.
-    </para>
- 
-    <caution>
-     <para>
-      The contents of the <structname>pg_autovacuum</structname> system
-      catalog are currently not saved in database dumps created by the
-      tools <application>pg_dump</> and <application>pg_dumpall</>.  If
-      you want to preserve them across a dump/reload cycle, make sure
-      you dump the catalog manually.
-     </para>
-    </caution>
- 
-    <para>
      When multiple workers are running, the cost limit is
      <quote>balanced</quote> among all the running workers, so that the
      total impact on the system is the same, regardless of the number
--- 606,645 ----
     <para>
      The default thresholds and scale factors are taken from
      <filename>postgresql.conf</filename>, but it is possible to override them
!     on a table-by-table basis; see 
!     <xref linkend="sql-createtable-storage-parameters"
!     endterm="sql-createtable-storage-parameters-title"> for more information.
!     If a setting
!     has been changed via storage parameters, that value is used; otherwise the
!     global settings are used. See <xref linkend="runtime-config-autovacuum"> for
      more details on the global settings.
     </para>
  
     <para>
!     Besides the base threshold values and scale factors, there are six
!     more autovacuum parameters that can be set for each table via
!     storage parameters.
!     The first parameter, <literal>autovacuum_enabled</>,
      can be set to <literal>false</literal> to instruct the autovacuum daemon
      to skip that particular table entirely.  In this case
      autovacuum will only touch the table if it must do so
      to prevent transaction ID wraparound.
!     Another two parameters,
!     <literal>autovacuum_vacuum_cost_delay</literal> and
!     <literal>autovacuum_vacuum_cost_limit</literal>, are used to set
!     table-specific values for the
!     <xref linkend="runtime-config-resource-vacuum-cost"
!     endterm="runtime-config-resource-vacuum-cost-title">
      feature.
!     <literal>autovacuum_freeze_min_age</literal>,
!     <literal>autovacuum_freeze_max_age</literal> and
!     <literal>autovacuum_freeze_table_age</literal> are used to set
!     values for <xref linkend="guc-vacuum-freeze-min-age">,
!     <xref linkend="guc-autovacuum-freeze-max-age"> and
!     <xref linkend="guc-vacuum-freeze-table-age"> respectively.
     </para>
  
     <para>
      When multiple workers are running, the cost limit is
      <quote>balanced</quote> among all the running workers, so that the
      total impact on the system is the same, regardless of the number
*** doc/src/sgml/ref/alter_index.sgml	14 Nov 2008 10:22:45 -0000	1.14
--- doc/src/sgml/ref/alter_index.sgml	29 Jan 2009 17:23:12 -0000
***************
*** 75,80 ****
--- 75,90 ----
      </listitem>
     </varlistentry>
  
+      <varlistentry>
+       <term><replaceable class="PARAMETER">value</replaceable></term>
+       <listitem>
+        <para>
+         The new value for a storage parameter.
+         This might be a number or a word depending on the parameter.
+        </para>
+       </listitem>
+      </varlistentry>
+ 
     <varlistentry>
      <term><literal>RESET ( <replaceable class="PARAMETER">storage_parameter</replaceable> [, ... ] )</literal></term>
      <listitem>
*** doc/src/sgml/ref/alter_table.sgml	13 Dec 2008 19:13:44 -0000	1.102
--- doc/src/sgml/ref/alter_table.sgml	6 Feb 2009 14:07:49 -0000
***************
*** 286,292 ****
      <listitem>
       <para>
        This form changes one or more storage parameters for the table.  See
!       <xref linkend="SQL-CREATETABLE" endterm="sql-createtable-title">
        for details on the available parameters.  Note that the table contents
        will not be modified immediately by this command; depending on the
        parameter you might need to rewrite the table to get the desired effects.
--- 286,293 ----
      <listitem>
       <para>
        This form changes one or more storage parameters for the table.  See
!       <xref linkend="SQL-CREATETABLE-storage-parameters"
!       endterm="sql-createtable-storage-parameters-title">
        for details on the available parameters.  Note that the table contents
        will not be modified immediately by this command; depending on the
        parameter you might need to rewrite the table to get the desired effects.
*** doc/src/sgml/ref/create_table.sgml	2 Feb 2009 19:31:38 -0000	1.112
--- doc/src/sgml/ref/create_table.sgml	6 Feb 2009 14:20:05 -0000
***************
*** 685,703 ****
    <refsect2 id="SQL-CREATETABLE-storage-parameters">
     <title id="SQL-CREATETABLE-storage-parameters-title">Storage Parameters</title>
  
     <para>
      The <literal>WITH</> clause can specify <firstterm>storage parameters</>
      for tables, and for indexes associated with a <literal>UNIQUE</literal> or
      <literal>PRIMARY KEY</literal> constraint.  Storage parameters for
      indexes are documented in <xref linkend="SQL-CREATEINDEX"
      endterm="sql-createindex-title">.  The storage parameters currently
!     available for tables are:
     </para>
  
     <variablelist>
  
     <varlistentry>
!     <term><literal>FILLFACTOR</></term>
      <listitem>
       <para>
        The fillfactor for a table is a percentage between 10 and 100.
--- 685,713 ----
    <refsect2 id="SQL-CREATETABLE-storage-parameters">
     <title id="SQL-CREATETABLE-storage-parameters-title">Storage Parameters</title>
  
+  <indexterm zone="sql-createtable-storage-parameters">
+   <primary>storage parameters</primary>
+  </indexterm>
+ 
     <para>
      The <literal>WITH</> clause can specify <firstterm>storage parameters</>
      for tables, and for indexes associated with a <literal>UNIQUE</literal> or
      <literal>PRIMARY KEY</literal> constraint.  Storage parameters for
      indexes are documented in <xref linkend="SQL-CREATEINDEX"
      endterm="sql-createindex-title">.  The storage parameters currently
!     available for tables are listed below.  For each parameter, there is an
!     additional, identically named parameter, prefixed with
! 	<literal>toast.</literal> which can be used to control the behavior of the
!     supplementary storage table, if any; see <xref linkend="storage-toast">.
! 	Note that the supplementary storage table inherits the
!     <literal>autovacuum</literal> values from its parent table, if there are
!     no <literal>toast.autovacuum_*</literal> settings set.
     </para>
  
     <variablelist>
  
     <varlistentry>
!     <term><literal>fillfactor</>, <literal>toast.fillfactor</literal> (<type>integer</>)</term>
      <listitem>
       <para>
        The fillfactor for a table is a percentage between 10 and 100.
***************
*** 715,725 ****
     </varlistentry>
  
     <varlistentry>
!     <term><literal>TOAST.FILLFACTOR</literal></term>
      <listitem>
       <para>
!       Same as above, for the supplementary storage table, if any; see
!       <xref linkend="storage-toast">.
       </para>
      </listitem>
     </varlistentry>
--- 725,842 ----
     </varlistentry>
  
     <varlistentry>
!     <term><literal>autovacuum_enabled</>, <literal>toast.autovacuum_enabled</literal> (<type>boolean</>)</term>
!     <listitem>
!      <para>
!      Enables or disables the autovacuum daemon on a particular table.
!      If true, the autovacuum daemon will initiate a <command>VACUUM</> operation
!      on a particular table when the number of updated or deleted tuples exceeds 
!      <literal>autovacuum_vacuum_threshold</> plus 
!      <literal>autovacuum_vacuum_scale_factor</> times the number of live tuples 
!      currently estimated to be in the relation.
!      Similarly, it will initiate an <command>ANALYZE</> operation when the
!      number of inserted, updated or deleted tuples exceeds
!      <literal>autovacuum_analyze_threshold</> plus 
!      <literal>autovacuum_analyze_scale_factor</> times the number of live tuples 
!      currently estimated to be in the relation.
!      If false, this table will not be autovacuumed, except to prevent
!      transaction Id wraparound. See <xref linkend="vacuum-for-wraparound"> for
!      more about wraparound prevention.
!      Observe that this variable inherits its value from the <xref
!      linkend="guc-autovacuum"> setting.
!      </para>
!     </listitem>
!    </varlistentry>
! 
!    <varlistentry>
!     <term><literal>autovacuum_vacuum_threshold</>, <literal>toast.autovacuum_vacuum_threshold</literal> (<type>integer</>)</term>
!     <listitem>
!      <para>
!      Minimum number of updated or deleted tuples before initiate a
!      <command>VACUUM</> operation on a particular table. 
!      </para>
!     </listitem>
!    </varlistentry>
! 
!    <varlistentry>
!     <term><literal>autovacuum_vacuum_scale_factor</>, <literal>toast.autovacuum_vacuum_scale_factor</literal> (<type>float4</>)</term>
!     <listitem>
!      <para>
!      Multiplier for <structfield>reltuples</> to add to
!      <literal>autovacuum_vacuum_threshold</>.
!      </para>
!     </listitem>
!    </varlistentry>
! 
!    <varlistentry>
!     <term><literal>autovacuum_analyze_threshold</>, <literal>toast.autovacuum_analyze_threshold</literal> (<type>integer</>)</term>
!     <listitem>
!      <para>
!      Minimum number of inserted, updated, or deleted tuples before initiate an
!      <command>ANALYZE</> operation on a particular table.
!      </para>
!     </listitem>
!    </varlistentry>
! 
!    <varlistentry>
!     <term><literal>autovacuum_analyze_scale_factor</>, <literal>toast.autovacuum_analyze_scale_factor</literal> (<type>float4</>)</term>
!     <listitem>
!      <para>
!      Multiplier for <structfield>reltuples</> to add to
!      <literal>autovacuum_analyze_threshold</>.
!      </para>
!     </listitem>
!    </varlistentry>
! 
!    <varlistentry>
!     <term><literal>autovacuum_vacuum_cost_delay</>, <literal>toast.autovacuum_vacuum_cost_delay</literal> (<type>integer</>)</term>
!     <listitem>
!      <para>
!      Custom <xref linkend="guc-autovacuum-vacuum-cost-delay"> parameter.
!      </para>
!     </listitem>
!    </varlistentry>
! 
!    <varlistentry>
!     <term><literal>autovacuum_vacuum_cost_limit</>, <literal>toast.autovacuum_vacuum_cost_limit</literal> (<type>integer</>)</term>
!     <listitem>
!      <para>
!      Custom <xref linkend="guc-autovacuum-vacuum-cost-limit"> parameter.
!      </para>
!     </listitem>
!    </varlistentry>
! 
!    <varlistentry>
!     <term><literal>autovacuum_freeze_min_age</>, <literal>toast.autovacuum_freeze_min_age</literal> (<type>integer</>)</term>
!     <listitem>
!      <para>
!      Custom <xref linkend="guc-vacuum-freeze-min-age"> parameter. Note that
!      autovacuum will ignore attempts to set a per-table
!      <literal>autovacuum_freeze_min_age</> larger than the half system-wide 
!      <xref linkend="guc-autovacuum-freeze-max-age"> setting.
!      </para>
!     </listitem>
!    </varlistentry>
! 
!    <varlistentry>
!     <term><literal>autovacuum_freeze_max_age</>, <literal>toast.autovacuum_freeze_max_age</literal> (<type>integer</>)</term>
!     <listitem>
!      <para>
!      Custom <xref linkend="guc-autovacuum-freeze-max-age"> parameter. Note that
!      autovacuum will ignore attempts to set a per-table
!      <literal>autovacuum_freeze_max_age</> larger than the system-wide setting
!      (it can only be set smaller). Note that while you can set
!      <literal>autovacuum_freeze_max_age</> very small, or even zero, this is
!      usually unwise since it will force frequent vacuuming.
!      </para>
!     </listitem>
!    </varlistentry>
! 
!    <varlistentry>
!     <term><literal>autovacuum_freeze_table_age</literal> (<type>integer</type>)</term>
      <listitem>
       <para>
!       Custom <xref linkend="guc-vacuum-freeze-table-age"> parameter.
       </para>
      </listitem>
     </varlistentry>
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to