summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/config.sgml12
-rw-r--r--src/backend/access/common/reloptions.c4
-rw-r--r--src/backend/utils/misc/guc.c6
-rw-r--r--src/backend/utils/misc/postgresql.conf.sample2
-rw-r--r--src/test/regress/expected/guc.out66
-rw-r--r--src/test/regress/sql/guc.sql24
6 files changed, 61 insertions, 53 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index b3b65f5f0d4..55450389159 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.210 2009/02/24 12:09:08 petere Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.211 2009/02/28 00:10:50 tgl Exp $ -->
<chapter Id="runtime-config">
<title>Server Configuration</title>
@@ -1010,7 +1010,8 @@ SET ENABLE_SEQSCAN TO OFF;
</para>
<para>
- This feature is disabled by default. To enable it, set the
+ This feature is disabled by default for manually issued
+ <command>VACUUM</command> commands. To enable it, set the
<varname>vacuum_cost_delay</varname> variable to a nonzero
value.
</para>
@@ -1033,6 +1034,13 @@ SET ENABLE_SEQSCAN TO OFF;
not a multiple of 10 might have the same results as setting it
to the next higher multiple of 10.
</para>
+
+ <para>
+ When using cost-based vacuuming, appropriate values for
+ <varname>vacuum_cost_delay</> are usually quite small, perhaps
+ 10 or 20 milliseconds. Adjusting vacuum's resource consumption
+ is best done by changing the other vacuum cost parameters.
+ </para>
</listitem>
</varlistentry>
diff --git a/src/backend/access/common/reloptions.c b/src/backend/access/common/reloptions.c
index 548c0b00de8..0060be6a028 100644
--- a/src/backend/access/common/reloptions.c
+++ b/src/backend/access/common/reloptions.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/access/common/reloptions.c,v 1.21 2009/02/09 20:57:59 alvherre Exp $
+ * $PostgreSQL: pgsql/src/backend/access/common/reloptions.c,v 1.22 2009/02/28 00:10:51 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -116,7 +116,7 @@ static relopt_int intRelOpts[] =
"Vacuum cost delay in milliseconds, for autovacuum",
RELOPT_KIND_HEAP
},
- 20, 0, 1000
+ 20, 0, 100
},
{
{
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 40b087a8f3a..5411840b2a0 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.495 2009/01/21 09:28:26 mha Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.496 2009/02/28 00:10:51 tgl Exp $
*
*--------------------------------------------------------------------
*/
@@ -1467,7 +1467,7 @@ static struct config_int ConfigureNamesInt[] =
GUC_UNIT_MS
},
&VacuumCostDelay,
- 0, 0, 1000, NULL, NULL
+ 0, 0, 100, NULL, NULL
},
{
@@ -1477,7 +1477,7 @@ static struct config_int ConfigureNamesInt[] =
GUC_UNIT_MS
},
&autovacuum_vac_cost_delay,
- 20, -1, 1000, NULL, NULL
+ 20, -1, 100, NULL, NULL
},
{
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index a874b4541db..f3aaf818ad8 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -119,7 +119,7 @@
# - Cost-Based Vacuum Delay -
-#vacuum_cost_delay = 0 # 0-1000 milliseconds
+#vacuum_cost_delay = 0 # 0-100 milliseconds
#vacuum_cost_page_hit = 1 # 0-10000 credits
#vacuum_cost_page_miss = 10 # 0-10000 credits
#vacuum_cost_page_dirty = 20 # 0-10000 credits
diff --git a/src/test/regress/expected/guc.out b/src/test/regress/expected/guc.out
index 2e6056b3769..a580daa089d 100644
--- a/src/test/regress/expected/guc.out
+++ b/src/test/regress/expected/guc.out
@@ -7,12 +7,12 @@ SHOW datestyle;
(1 row)
-- SET to some nondefault value
-SET vacuum_cost_delay TO 400;
+SET vacuum_cost_delay TO 40;
SET datestyle = 'ISO, YMD';
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
@@ -28,11 +28,11 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
(1 row)
-- SET LOCAL has no effect outside of a transaction
-SET LOCAL vacuum_cost_delay TO 500;
+SET LOCAL vacuum_cost_delay TO 50;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SET LOCAL datestyle = 'SQL';
@@ -50,11 +50,11 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
-- SET LOCAL within a transaction that commits
BEGIN;
-SET LOCAL vacuum_cost_delay TO 500;
+SET LOCAL vacuum_cost_delay TO 50;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 500ms
+ 50ms
(1 row)
SET LOCAL datestyle = 'SQL';
@@ -74,7 +74,7 @@ COMMIT;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
@@ -91,11 +91,11 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
-- SET should be reverted after ROLLBACK
BEGIN;
-SET vacuum_cost_delay TO 600;
+SET vacuum_cost_delay TO 60;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 600ms
+ 60ms
(1 row)
SET datestyle = 'German';
@@ -115,7 +115,7 @@ ROLLBACK;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
@@ -132,7 +132,7 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
-- Some tests with subtransactions
BEGIN;
-SET vacuum_cost_delay TO 700;
+SET vacuum_cost_delay TO 70;
SET datestyle = 'MDY';
SHOW datestyle;
DateStyle
@@ -147,11 +147,11 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
(1 row)
SAVEPOINT first_sp;
-SET vacuum_cost_delay TO 800;
+SET vacuum_cost_delay TO 80;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 800ms
+ 80ms
(1 row)
SET datestyle = 'German, DMY';
@@ -181,7 +181,7 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
(1 row)
SAVEPOINT second_sp;
-SET vacuum_cost_delay TO 900;
+SET vacuum_cost_delay TO 90;
SET datestyle = 'SQL, YMD';
SHOW datestyle;
DateStyle
@@ -196,11 +196,11 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
(1 row)
SAVEPOINT third_sp;
-SET vacuum_cost_delay TO 1000;
+SET vacuum_cost_delay TO 100;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 1s
+ 100ms
(1 row)
SET datestyle = 'Postgres, MDY';
@@ -220,7 +220,7 @@ ROLLBACK TO third_sp;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 900ms
+ 90ms
(1 row)
SHOW datestyle;
@@ -239,7 +239,7 @@ ROLLBACK TO second_sp;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 700ms
+ 70ms
(1 row)
SHOW datestyle;
@@ -258,7 +258,7 @@ ROLLBACK;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
@@ -278,7 +278,7 @@ BEGIN;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
@@ -294,11 +294,11 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
(1 row)
SAVEPOINT sp;
-SET LOCAL vacuum_cost_delay TO 300;
+SET LOCAL vacuum_cost_delay TO 30;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 300ms
+ 30ms
(1 row)
SET LOCAL datestyle = 'Postgres, MDY';
@@ -318,7 +318,7 @@ ROLLBACK TO sp;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
@@ -337,7 +337,7 @@ ROLLBACK;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
@@ -357,7 +357,7 @@ BEGIN;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
@@ -373,11 +373,11 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
(1 row)
SAVEPOINT sp;
-SET LOCAL vacuum_cost_delay TO 300;
+SET LOCAL vacuum_cost_delay TO 30;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 300ms
+ 30ms
(1 row)
SET LOCAL datestyle = 'Postgres, MDY';
@@ -397,7 +397,7 @@ RELEASE SAVEPOINT sp;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 300ms
+ 30ms
(1 row)
SHOW datestyle;
@@ -416,7 +416,7 @@ ROLLBACK;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
@@ -433,12 +433,12 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
-- SET followed by SET LOCAL
BEGIN;
-SET vacuum_cost_delay TO 400;
-SET LOCAL vacuum_cost_delay TO 500;
+SET vacuum_cost_delay TO 40;
+SET LOCAL vacuum_cost_delay TO 50;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 500ms
+ 50ms
(1 row)
SET datestyle = 'ISO, DMY';
@@ -459,7 +459,7 @@ COMMIT;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
diff --git a/src/test/regress/sql/guc.sql b/src/test/regress/sql/guc.sql
index e03bc205957..9966606275c 100644
--- a/src/test/regress/sql/guc.sql
+++ b/src/test/regress/sql/guc.sql
@@ -3,14 +3,14 @@
SHOW datestyle;
-- SET to some nondefault value
-SET vacuum_cost_delay TO 400;
+SET vacuum_cost_delay TO 40;
SET datestyle = 'ISO, YMD';
SHOW vacuum_cost_delay;
SHOW datestyle;
SELECT '2006-08-13 12:34:56'::timestamptz;
-- SET LOCAL has no effect outside of a transaction
-SET LOCAL vacuum_cost_delay TO 500;
+SET LOCAL vacuum_cost_delay TO 50;
SHOW vacuum_cost_delay;
SET LOCAL datestyle = 'SQL';
SHOW datestyle;
@@ -18,7 +18,7 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
-- SET LOCAL within a transaction that commits
BEGIN;
-SET LOCAL vacuum_cost_delay TO 500;
+SET LOCAL vacuum_cost_delay TO 50;
SHOW vacuum_cost_delay;
SET LOCAL datestyle = 'SQL';
SHOW datestyle;
@@ -30,7 +30,7 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
-- SET should be reverted after ROLLBACK
BEGIN;
-SET vacuum_cost_delay TO 600;
+SET vacuum_cost_delay TO 60;
SHOW vacuum_cost_delay;
SET datestyle = 'German';
SHOW datestyle;
@@ -42,12 +42,12 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
-- Some tests with subtransactions
BEGIN;
-SET vacuum_cost_delay TO 700;
+SET vacuum_cost_delay TO 70;
SET datestyle = 'MDY';
SHOW datestyle;
SELECT '2006-08-13 12:34:56'::timestamptz;
SAVEPOINT first_sp;
-SET vacuum_cost_delay TO 800;
+SET vacuum_cost_delay TO 80;
SHOW vacuum_cost_delay;
SET datestyle = 'German, DMY';
SHOW datestyle;
@@ -56,12 +56,12 @@ ROLLBACK TO first_sp;
SHOW datestyle;
SELECT '2006-08-13 12:34:56'::timestamptz;
SAVEPOINT second_sp;
-SET vacuum_cost_delay TO 900;
+SET vacuum_cost_delay TO 90;
SET datestyle = 'SQL, YMD';
SHOW datestyle;
SELECT '2006-08-13 12:34:56'::timestamptz;
SAVEPOINT third_sp;
-SET vacuum_cost_delay TO 1000;
+SET vacuum_cost_delay TO 100;
SHOW vacuum_cost_delay;
SET datestyle = 'Postgres, MDY';
SHOW datestyle;
@@ -85,7 +85,7 @@ SHOW vacuum_cost_delay;
SHOW datestyle;
SELECT '2006-08-13 12:34:56'::timestamptz;
SAVEPOINT sp;
-SET LOCAL vacuum_cost_delay TO 300;
+SET LOCAL vacuum_cost_delay TO 30;
SHOW vacuum_cost_delay;
SET LOCAL datestyle = 'Postgres, MDY';
SHOW datestyle;
@@ -105,7 +105,7 @@ SHOW vacuum_cost_delay;
SHOW datestyle;
SELECT '2006-08-13 12:34:56'::timestamptz;
SAVEPOINT sp;
-SET LOCAL vacuum_cost_delay TO 300;
+SET LOCAL vacuum_cost_delay TO 30;
SHOW vacuum_cost_delay;
SET LOCAL datestyle = 'Postgres, MDY';
SHOW datestyle;
@@ -121,8 +121,8 @@ SELECT '2006-08-13 12:34:56'::timestamptz;
-- SET followed by SET LOCAL
BEGIN;
-SET vacuum_cost_delay TO 400;
-SET LOCAL vacuum_cost_delay TO 500;
+SET vacuum_cost_delay TO 40;
+SET LOCAL vacuum_cost_delay TO 50;
SHOW vacuum_cost_delay;
SET datestyle = 'ISO, DMY';
SET LOCAL datestyle = 'Postgres, MDY';