pgsql: Don't balance vacuum cost delay when per-table settings are in e - Mailing list pgsql-committers

From Alvaro Herrera
Subject pgsql: Don't balance vacuum cost delay when per-table settings are in e
Date
Msg-id E1Xa5LO-0003t6-Fc@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Don't balance vacuum cost delay when per-table settings are in effect

When there are cost-delay-related storage options set for a table,
trying to make that table participate in the autovacuum cost-limit
balancing algorithm produces undesirable results: instead of using the
configured values, the global values are always used,
as illustrated by Mark Kirkwood in
http://www.postgresql.org/message-id/52FACF15.8020507@catalyst.net.nz

Since the mechanism is already complicated, just disable it for those
cases rather than trying to make it cope.  There are undesirable
side-effects from this too, namely that the total I/O impact on the
system will be higher whenever such tables are vacuumed.  However, this
is seen as less harmful than slowing down vacuum, because that would
cause bloat to accumulate.  Anyway, in the new system it is possible to
tweak options to get the precise behavior one wants, whereas with the
previous system one was simply hosed.

This has been broken forever, so backpatch to all supported branches.
This might affect systems where cost_limit and cost_delay have been set
for individual tables.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/1021bd6a89bc756c2a72b29eeee1a7a5c25f64f5

Modified Files
--------------
doc/src/sgml/maintenance.sgml       |    9 ++++++---
src/backend/postmaster/autovacuum.c |   23 ++++++++++++++++++++---
2 files changed, 26 insertions(+), 6 deletions(-)


pgsql-committers by date:

Previous
From: Alvaro Herrera
Date:
Subject: pgsql: Don't balance vacuum cost delay when per-table settings are in e
Next
From: Alvaro Herrera
Date:
Subject: pgsql: Don't balance vacuum cost delay when per-table settings are in e