]> granicus.if.org Git - postgresql/commitdiff
Turn autovacuum on by default. (stats_row_level is also on by default.)
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 28 Aug 2006 13:37:18 +0000 (13:37 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 28 Aug 2006 13:37:18 +0000 (13:37 +0000)
Threshold and scale factor are cut in half for more aggressive behavior.

doc/src/sgml/config.sgml
doc/src/sgml/maintenance.sgml
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample

index 11df2267873ef0935757c951022f66581d95716d..082efc9e7b797275927690ea133554d3cbe5eb01 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.75 2006/08/17 23:04:03 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.76 2006/08/28 13:37:18 petere Exp $ -->
 
 <chapter Id="runtime-config">
   <title>Server Configuration</title>
@@ -383,7 +383,7 @@ SET ENABLE_SEQSCAN TO OFF;
        </para>
 
        <para>
-        The default value is 2. The value must be less than the value of
+        The default value is 3. The value must be less than the value of
         <varname>max_connections</varname>. This parameter can only be
         set at server start.
        </para>
@@ -2990,7 +2990,8 @@ SELECT * FROM parent WHERE key = 2400;
       <listitem>
        <para>
         Enables the collection of row-level statistics on database
-        activity. This parameter is off by default.
+        activity. This parameter is on by default, because the autovacuum
+        daemon needs the collected information.
         Only superusers can change this setting.
        </para>
       </listitem>
@@ -3113,7 +3114,7 @@ SELECT * FROM parent WHERE key = 2400;
        <para>
         Specifies the minimum number of updated or deleted tuples needed
         to trigger a <command>VACUUM</> in any one table.
-        The default is 1000.
+        The default is 500.
         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
@@ -3131,7 +3132,7 @@ SELECT * FROM parent WHERE key = 2400;
        <para>
         Specifies the minimum number of inserted, updated or deleted tuples
         needed to trigger an <command>ANALYZE</> in any one table.
-        The default is 500.
+        The default is 250.
         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
@@ -3150,7 +3151,7 @@ SELECT * FROM parent WHERE key = 2400;
         Specifies a fraction of the table size to add to
         <varname>autovacuum_vacuum_threshold</varname>
         when deciding whether to trigger a <command>VACUUM</>.
-        The default is 0.4.
+        The default is 0.2.
         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
@@ -3169,7 +3170,7 @@ SELECT * FROM parent WHERE key = 2400;
         Specifies a fraction of the table size to add to
         <varname>autovacuum_analyze_threshold</varname>
         when deciding whether to trigger an <command>ANALYZE</>.
-        The default is 0.2.
+        The default is 0.1.
         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
index 20a42c5b5348916a8435eab7d4f184f5103d10c5..9eaa4ad6da0a2f0e6068bc0d0ab8a8164256ef26 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/maintenance.sgml,v 1.59 2006/08/04 04:07:38 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/maintenance.sgml,v 1.60 2006/08/28 13:37:18 petere Exp $ -->
 
 <chapter id="maintenance">
  <title>Routine Database Maintenance Tasks</title>
@@ -447,14 +447,14 @@ HINT:  Stop the postmaster and use a standalone backend to VACUUM in "mydb".
   </sect2>
 
   <sect2 id="autovacuum">
-   <title id="autovacuum-title">The auto-vacuum daemon</title>
+   <title id="autovacuum-title">The autovacuum daemon</title>
 
    <indexterm>
     <primary>autovacuum</primary>
     <secondary>general information</secondary>
    </indexterm>
    <para>
-    Beginning in <productname>PostgreSQL </productname> 8.1, there is a
+    There is a
     separate optional server process called the <firstterm>autovacuum
     daemon</firstterm>, whose purpose is to automate the execution of
     <command>VACUUM</command> and <command>ANALYZE </command> commands.
@@ -465,7 +465,9 @@ HINT:  Stop the postmaster and use a standalone backend to VACUUM in "mydb".
     linkend="guc-stats-start-collector"> and <xref
     linkend="guc-stats-row-level"> are set to <literal>true</literal>.  Also,
     it's important to allow a slot for the autovacuum process when choosing
-    the value of <xref linkend="guc-superuser-reserved-connections">.
+    the value of <xref linkend="guc-superuser-reserved-connections">.  In
+    the default configuration, autovacuuming is enabled and the related
+    configuration parameters are appropriately set.
    </para>
 
    <para>
index 208231ecd5cce8b2ca2a7b425df5929d0f227637..e6135bc8e75770cfb547790033bc703eb6eafdfc 100644 (file)
@@ -10,7 +10,7 @@
  * Written by Peter Eisentraut <peter_e@gmx.net>.
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.343 2006/08/17 23:04:06 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.344 2006/08/28 13:37:18 petere Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -707,7 +707,7 @@ static struct config_bool ConfigureNamesBool[] =
                        NULL
                },
                &pgstat_collect_tuplelevel,
-               false, NULL, NULL
+               true, NULL, NULL
        },
        {
                {"stats_block_level", PGC_SUSET, STATS_COLLECTOR,
@@ -744,7 +744,7 @@ static struct config_bool ConfigureNamesBool[] =
                        NULL
                },
                &autovacuum_start_daemon,
-               false, NULL, NULL
+               true, NULL, NULL
        },
 
        {
@@ -1138,7 +1138,7 @@ static struct config_int ConfigureNamesInt[] =
                        NULL
                },
                &ReservedBackends,
-               2, 0, INT_MAX / 4, NULL, NULL
+               3, 0, INT_MAX / 4, NULL, NULL
        },
 
        {
@@ -1563,7 +1563,7 @@ static struct config_int ConfigureNamesInt[] =
                        NULL
                },
                &autovacuum_vac_thresh,
-               1000, 0, INT_MAX, NULL, NULL
+               500, 0, INT_MAX, NULL, NULL
        },
        {
                {"autovacuum_analyze_threshold", PGC_SIGHUP, AUTOVACUUM,
@@ -1571,7 +1571,7 @@ static struct config_int ConfigureNamesInt[] =
                        NULL
                },
                &autovacuum_anl_thresh,
-               500, 0, INT_MAX, NULL, NULL
+               250, 0, INT_MAX, NULL, NULL
        },
 
        {
@@ -1726,7 +1726,7 @@ static struct config_real ConfigureNamesReal[] =
                        NULL
                },
                &autovacuum_vac_scale,
-               0.4, 0.0, 100.0, NULL, NULL
+               0.2, 0.0, 100.0, NULL, NULL
        },
        {
                {"autovacuum_analyze_scale_factor", PGC_SIGHUP, AUTOVACUUM,
@@ -1734,7 +1734,7 @@ static struct config_real ConfigureNamesReal[] =
                        NULL
                },
                &autovacuum_anl_scale,
-               0.2, 0.0, 100.0, NULL, NULL
+               0.1, 0.0, 100.0, NULL, NULL
        },
 
        /* End-of-list marker */
index fcb81d711882a8ad163eaa67abb547f7bef76588..2793b1e70df14a04658cbb567345372c0d538ebd 100644 (file)
@@ -59,7 +59,7 @@
 # Note: increasing max_connections costs ~400 bytes of shared memory per 
 # connection slot, plus lock space (see max_locks_per_transaction).  You
 # might also need to raise shared_buffers to support more connections.
-#superuser_reserved_connections = 2    # (change requires restart)
+#superuser_reserved_connections = 3    # (change requires restart)
 #unix_socket_directory = ''            # (change requires restart)
 #unix_socket_group = ''                        # (change requires restart)
 #unix_socket_permissions = 0777                # octal
 #stats_start_collector = on            # needed for block or row stats
                                        # (change requires restart)
 #stats_block_level = off
-#stats_row_level = off
+#stats_row_level = on
 #stats_reset_on_server_start = off     # (change requires restart)
 
 
 # AUTOVACUUM PARAMETERS
 #---------------------------------------------------------------------------
 
-#autovacuum = off                      # enable autovacuum subprocess?
+#autovacuum = o                      # enable autovacuum subprocess?
 #autovacuum_naptime = 60               # time between autovacuum runs, in secs
-#autovacuum_vacuum_threshold = 1000    # min # of tuple updates before
+#autovacuum_vacuum_threshold = 500     # min # of tuple updates before
                                        # vacuum
-#autovacuum_analyze_threshold = 500    # min # of tuple updates before 
+#autovacuum_analyze_threshold = 250    # min # of tuple updates before 
                                        # analyze
-#autovacuum_vacuum_scale_factor = 0.4  # fraction of rel size before 
+#autovacuum_vacuum_scale_factor = 0.2  # fraction of rel size before 
                                        # vacuum
-#autovacuum_analyze_scale_factor = 0.2 # fraction of rel size before 
+#autovacuum_analyze_scale_factor = 0.1 # fraction of rel size before 
                                        # analyze
 #autovacuum_vacuum_cost_delay = -1     # default vacuum cost delay for 
                                        # autovac, -1 means use