-<!-- $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>
</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>
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>
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
"Vacuum cost delay in milliseconds, for autovacuum",
RELOPT_KIND_HEAP
},
- 20, 0, 1000
+ 20, 0, 100
},
{
{
* 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 $
*
*--------------------------------------------------------------------
*/
GUC_UNIT_MS
},
&VacuumCostDelay,
- 0, 0, 1000, NULL, NULL
+ 0, 0, 100, NULL, NULL
},
{
GUC_UNIT_MS
},
&autovacuum_vac_cost_delay,
- 20, -1, 1000, NULL, NULL
+ 20, -1, 100, NULL, NULL
},
{
# - 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
(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;
(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';
-- 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';
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
-- 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';
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
-- Some tests with subtransactions
BEGIN;
-SET vacuum_cost_delay TO 700;
+SET vacuum_cost_delay TO 70;
SET datestyle = 'MDY';
SHOW datestyle;
DateStyle
(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';
(1 row)
SAVEPOINT second_sp;
-SET vacuum_cost_delay TO 900;
+SET vacuum_cost_delay TO 90;
SET datestyle = 'SQL, YMD';
SHOW datestyle;
DateStyle
(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';
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 900ms
+ 90ms
(1 row)
SHOW datestyle;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 700ms
+ 70ms
(1 row)
SHOW datestyle;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
(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';
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
(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';
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 300ms
+ 30ms
(1 row)
SHOW datestyle;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
-- 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';
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
- 400ms
+ 40ms
(1 row)
SHOW datestyle;
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;
-- 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;
-- 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;
-- 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;
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;
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;
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;
-- 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';