Make autovacuum behavior more agressive, per discussion on hackers list
authorBruce Momjian <bruce@momjian.us>
Sat, 2 Sep 2006 23:12:16 +0000 (23:12 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 2 Sep 2006 23:12:16 +0000 (23:12 +0000)
--- was part of autovacuum default 'on' patch that was reverted, but we
want this part.

Peter Eisentraut

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

index 98e84837f387599c49e81ebd96d6ddd834de3475..e7366fac8dd08f6749f6d480b5a7d852b3097c74 100644 (file)
@@ -3113,7 +3113,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 +3131,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 +3150,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 +3169,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 ed7404095aa542fe8a58f2ed74ab3dc677e5c662..d55de61608fa7d0eb1f5de6c387fa8cd0a824bc2 100644 (file)
@@ -1564,7 +1564,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,
@@ -1572,7 +1572,7 @@ static struct config_int ConfigureNamesInt[] =
                        NULL
                },
                &autovacuum_anl_thresh,
-               500, 0, INT_MAX, NULL, NULL
+               250, 0, INT_MAX, NULL, NULL
        },
 
        {
@@ -1738,7 +1738,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,
@@ -1746,7 +1746,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 8726f01cd6d5c375a1c31711ec1bb760e318439f..dcd3a02443210ea9e873dd9251d919b03932cd73 100644 (file)
 
 #autovacuum = off                      # 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