mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-01 19:45:33 +08:00
Reduce the maximum value of vacuum_cost_delay and autovacuum_vacuum_cost_delay
to 100ms (from 1000). This still seems to be comfortably larger than the useful range of the parameter, and it should help discourage people from picking uselessly large values. Tweak the documentation to recommend small values, too. Per discussion of a couple weeks ago.
This commit is contained in:
parent
07b9936a0f
commit
640796ff41
@ -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>
|
||||
|
||||
|
@ -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
|
||||
},
|
||||
{
|
||||
{
|
||||
|
@ -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
|
||||
},
|
||||
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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';
|
||||
|
Loading…
Reference in New Issue
Block a user