From ba9f9bf1b103d72196d76646c6fcc71abbdd51f5 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Tue, 29 Aug 2006 11:37:47 +0000
Subject: [PATCH] Revert change to turn autovacuum on by default.

---
 doc/src/sgml/config.sgml                      | 15 +++++++--------
 doc/src/sgml/maintenance.sgml                 | 10 ++++------
 src/backend/utils/misc/guc.c                  | 16 ++++++++--------
 src/backend/utils/misc/postgresql.conf.sample | 14 +++++++-------
 4 files changed, 26 insertions(+), 29 deletions(-)

diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 22de6b746af..db78a51e6b0 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.77 2006/08/29 02:11:29 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.78 2006/08/29 11:37:47 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 3. The value must be less than the value of
+        The default value is 2. The value must be less than the value of
         <varname>max_connections</varname>. This parameter can only be
         set at server start.
        </para>
@@ -2990,8 +2990,7 @@ SELECT * FROM parent WHERE key = 2400;
       <listitem>
        <para>
         Enables the collection of row-level statistics on database
-        activity. This parameter is on by default, because the autovacuum
-        daemon needs the collected information.
+        activity. This parameter is off by default.
         Only superusers can change this setting.
        </para>
       </listitem>
@@ -3114,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 500.
+        The default is 1000.
         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
@@ -3132,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 250.
+        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
@@ -3151,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.2.
+        The default is 0.4.
         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
@@ -3170,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.1.
+        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
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
index 9eaa4ad6da0..3a33286d3d7 100644
--- a/doc/src/sgml/maintenance.sgml
+++ b/doc/src/sgml/maintenance.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/maintenance.sgml,v 1.60 2006/08/28 13:37:18 petere Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/maintenance.sgml,v 1.61 2006/08/29 11:37:47 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 autovacuum daemon</title>
+   <title id="autovacuum-title">The auto-vacuum daemon</title>
 
    <indexterm>
     <primary>autovacuum</primary>
     <secondary>general information</secondary>
    </indexterm>
    <para>
-    There is a
+    Beginning in <productname>PostgreSQL </productname> 8.1, 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,9 +465,7 @@ 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">.  In
-    the default configuration, autovacuuming is enabled and the related
-    configuration parameters are appropriately set.
+    the value of <xref linkend="guc-superuser-reserved-connections">.
    </para>
 
    <para>
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index e6135bc8e75..48487fdc851 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
  * Written by Peter Eisentraut <peter_e@gmx.net>.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.344 2006/08/28 13:37:18 petere Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.345 2006/08/29 11:37:47 petere Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -707,7 +707,7 @@ static struct config_bool ConfigureNamesBool[] =
 			NULL
 		},
 		&pgstat_collect_tuplelevel,
-		true, NULL, NULL
+		false, NULL, NULL
 	},
 	{
 		{"stats_block_level", PGC_SUSET, STATS_COLLECTOR,
@@ -744,7 +744,7 @@ static struct config_bool ConfigureNamesBool[] =
 			NULL
 		},
 		&autovacuum_start_daemon,
-		true, NULL, NULL
+		false, NULL, NULL
 	},
 
 	{
@@ -1138,7 +1138,7 @@ static struct config_int ConfigureNamesInt[] =
 			NULL
 		},
 		&ReservedBackends,
-		3, 0, INT_MAX / 4, NULL, NULL
+		2, 0, INT_MAX / 4, NULL, NULL
 	},
 
 	{
@@ -1563,7 +1563,7 @@ static struct config_int ConfigureNamesInt[] =
 			NULL
 		},
 		&autovacuum_vac_thresh,
-		500, 0, INT_MAX, NULL, NULL
+		1000, 0, INT_MAX, NULL, NULL
 	},
 	{
 		{"autovacuum_analyze_threshold", PGC_SIGHUP, AUTOVACUUM,
@@ -1571,7 +1571,7 @@ static struct config_int ConfigureNamesInt[] =
 			NULL
 		},
 		&autovacuum_anl_thresh,
-		250, 0, INT_MAX, NULL, NULL
+		500, 0, INT_MAX, NULL, NULL
 	},
 
 	{
@@ -1726,7 +1726,7 @@ static struct config_real ConfigureNamesReal[] =
 			NULL
 		},
 		&autovacuum_vac_scale,
-		0.2, 0.0, 100.0, NULL, NULL
+		0.4, 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.1, 0.0, 100.0, NULL, NULL
+		0.2, 0.0, 100.0, NULL, NULL
 	},
 
 	/* End-of-list marker */
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 2793b1e70df..fcb81d71188 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -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 = 3	# (change requires restart)
+#superuser_reserved_connections = 2	# (change requires restart)
 #unix_socket_directory = ''		# (change requires restart)
 #unix_socket_group = ''			# (change requires restart)
 #unix_socket_permissions = 0777		# octal
@@ -345,7 +345,7 @@
 #stats_start_collector = on		# needed for block or row stats
 					# (change requires restart)
 #stats_block_level = off
-#stats_row_level = on
+#stats_row_level = off
 #stats_reset_on_server_start = off	# (change requires restart)
 
 
@@ -361,15 +361,15 @@
 # AUTOVACUUM PARAMETERS
 #---------------------------------------------------------------------------
 
-#autovacuum = on			# enable autovacuum subprocess?
+#autovacuum = off			# enable autovacuum subprocess?
 #autovacuum_naptime = 60		# time between autovacuum runs, in secs
-#autovacuum_vacuum_threshold = 500	# min # of tuple updates before
+#autovacuum_vacuum_threshold = 1000	# min # of tuple updates before
 					# vacuum
-#autovacuum_analyze_threshold = 250	# min # of tuple updates before 
+#autovacuum_analyze_threshold = 500	# min # of tuple updates before 
 					# analyze
-#autovacuum_vacuum_scale_factor = 0.2	# fraction of rel size before 
+#autovacuum_vacuum_scale_factor = 0.4	# fraction of rel size before 
 					# vacuum
-#autovacuum_analyze_scale_factor = 0.1	# fraction of rel size before 
+#autovacuum_analyze_scale_factor = 0.2	# fraction of rel size before 
 					# analyze
 #autovacuum_vacuum_cost_delay = -1	# default vacuum cost delay for 
 					# autovac, -1 means use 
-- 
GitLab