From e0938c3f5b03e48bca32fe903f057e5777d43df8 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 2 Sep 2006 23:12:16 +0000 Subject: [PATCH] Make autovacuum behavior more agressive, per discussion on hackers list --- was part of autovacuum default 'on' patch that was reverted, but we want this part. Peter Eisentraut --- doc/src/sgml/config.sgml | 10 +++++----- src/backend/utils/misc/guc.c | 10 +++++----- src/backend/utils/misc/postgresql.conf.sample | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 0404b36df6..52e3d11209 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1,4 +1,4 @@ - + Server Configuration @@ -3113,7 +3113,7 @@ SELECT * FROM parent WHERE key = 2400; Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. - The default is 1000. + The default is 500. This parameter can only be set in the 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; Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. - The default is 500. + The default is 250. This parameter can only be set in the 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 autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. - The default is 0.4. + The default is 0.2. This parameter can only be set in the 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 autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. - The default is 0.2. + The default is 0.1. This parameter can only be set in the postgresql.conf file or on the server command line. This setting can be overridden for individual tables by entries in diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index fb12bd7adf..f985c9da42 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -10,7 +10,7 @@ * Written by Peter Eisentraut . * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.349 2006/09/02 23:04:20 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.350 2006/09/02 23:12:16 momjian Exp $ * *-------------------------------------------------------------------- */ @@ -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 */ diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index 8726f01cd6..dcd3a02443 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -363,13 +363,13 @@ #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