Tom Lane wrote:

> Actually the reason it's not enabled by default today has nothing to do
> with either of those; it's
> 
> 3. Unexpected side effects on foreground processes, such as surprising
> failures of DROP DATABASE commands.  (See archives for details.)
> 
> Until (3) is addressed I don't think there is any chance of having
> autovac on by default, and so worrying about (1) and (2) seems a bit
> premature.  Or at least, if you want to work on those fine, but don't
> expect that it will alter the fact that the factory default is "off".

With that taken care of, do I dare propose enabling autovacuum by
default, so that further changes will be picked up quickly by the
buildfarm?

Attached is a patch to do so, based on Peter's last attempt at doing
this.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Index: doc/src/sgml/config.sgml
===================================================================
RCS file: /home/alvherre/Code/cvs/pgsql/doc/src/sgml/config.sgml,v
retrieving revision 1.101
diff -c -p -r1.101 config.sgml
*** doc/src/sgml/config.sgml	9 Jan 2007 22:16:46 -0000	1.101
--- doc/src/sgml/config.sgml	16 Jan 2007 13:37:39 -0000
*************** SELECT * FROM parent WHERE key = 2400;
*** 3043,3049 ****
        <listitem>
         <para>
          Enables the collection of row-level statistics on database
!         activity. This parameter is off by default.
          Only superusers can change this setting.
         </para>
        </listitem>
--- 3043,3050 ----
        <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.
          Only superusers can change this setting.
         </para>
        </listitem>
Index: doc/src/sgml/maintenance.sgml
===================================================================
RCS file: /home/alvherre/Code/cvs/pgsql/doc/src/sgml/maintenance.sgml,v
retrieving revision 1.65
diff -c -p -r1.65 maintenance.sgml
*** doc/src/sgml/maintenance.sgml	27 Dec 2006 14:55:17 -0000	1.65
--- doc/src/sgml/maintenance.sgml	16 Jan 2007 13:40:33 -0000
*************** HINT:  Stop the postmaster and use a sta
*** 477,483 ****
      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">.
     </para>
  
     <para>
--- 477,485 ----
      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.
     </para>
  
     <para>
Index: src/backend/utils/misc/guc.c
===================================================================
RCS file: /home/alvherre/Code/cvs/pgsql/src/backend/utils/misc/guc.c,v
retrieving revision 1.367
diff -c -p -r1.367 guc.c
*** src/backend/utils/misc/guc.c	9 Jan 2007 22:16:46 -0000	1.367
--- src/backend/utils/misc/guc.c	16 Jan 2007 13:37:39 -0000
*************** static struct config_bool ConfigureNames
*** 711,717 ****
  			NULL
  		},
  		&pgstat_collect_tuplelevel,
! 		false, NULL, NULL
  	},
  	{
  		{"stats_block_level", PGC_SUSET, STATS_COLLECTOR,
--- 711,717 ----
  			NULL
  		},
  		&pgstat_collect_tuplelevel,
! 		true, NULL, NULL
  	},
  	{
  		{"stats_block_level", PGC_SUSET, STATS_COLLECTOR,
*************** static struct config_bool ConfigureNames
*** 748,754 ****
  			NULL
  		},
  		&autovacuum_start_daemon,
! 		false, NULL, NULL
  	},
  
  	{
--- 748,754 ----
  			NULL
  		},
  		&autovacuum_start_daemon,
! 		true, NULL, NULL
  	},
  
  	{
Index: src/backend/utils/misc/postgresql.conf.sample
===================================================================
RCS file: /home/alvherre/Code/cvs/pgsql/src/backend/utils/misc/postgresql.conf.sample,v
retrieving revision 1.201
diff -c -p -r1.201 postgresql.conf.sample
*** src/backend/utils/misc/postgresql.conf.sample	9 Jan 2007 22:16:46 -0000	1.201
--- src/backend/utils/misc/postgresql.conf.sample	16 Jan 2007 13:41:04 -0000
***************
*** 349,355 ****
  #stats_start_collector = on		# needed for block or row stats
  					# (change requires restart)
  #stats_block_level = off
! #stats_row_level = off
  #stats_reset_on_server_start = off	# (change requires restart)
  
  
--- 349,355 ----
  #stats_start_collector = on		# needed for block or row stats
  					# (change requires restart)
  #stats_block_level = off
! #stats_row_level = on
  #stats_reset_on_server_start = off	# (change requires restart)
  
  
***************
*** 365,371 ****
  # AUTOVACUUM PARAMETERS
  #---------------------------------------------------------------------------
  
! #autovacuum = off			# enable autovacuum subprocess?
  					# 'on' requires stats_start_collector
  					# and stats_row_level to also be on
  #autovacuum_naptime = 1min		# time between autovacuum runs
--- 365,371 ----
  # AUTOVACUUM PARAMETERS
  #---------------------------------------------------------------------------
  
! #autovacuum = on			# enable autovacuum subprocess?
  					# 'on' requires stats_start_collector
  					# and stats_row_level to also be on
  #autovacuum_naptime = 1min		# time between autovacuum runs
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to