From: | Daniel Gustafsson <dgustafsson(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Separate vacuum cost variables from GUCs |
Date: | 2023-04-06 23:03:23 |
Message-ID: | E1pkYdW-001kmo-3A@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Separate vacuum cost variables from GUCs
Vacuum code run both by autovacuum workers and a backend doing
VACUUM/ANALYZE previously inspected VacuumCostLimit and VacuumCostDelay,
which are the global variables backing the GUCs vacuum_cost_limit and
vacuum_cost_delay.
Autovacuum workers needed to override these variables with their
own values, derived from autovacuum_vacuum_cost_limit and
autovacuum_vacuum_cost_delay and worker cost limit balancing logic.
This led to confusing code which, in some cases, both derived and
set a new value of VacuumCostLimit from VacuumCostLimit.
In preparation for refreshing these GUC values more often, introduce
new, independent global variables and add a function to update them
using the GUCs and existing logic.
Per suggestion by Kyotaro Horiguchi
Author: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Reviewed-by: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Reviewed-by: Daniel Gustafsson <daniel(at)yesql(dot)se>
Reviewed-by: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Reviewed-by: Robert Haas <robertmhaas(at)gmail(dot)com>
Discussion: https://www.postgresql.org/message-id/flat/CAAKRu_ZngzqnEODc7LmS1NH04Kt6Y9huSjz5pp7%2BDXhrjDA0gw%40mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/a85c60a945acfcb1aaac0c521e5eb5a2477d9695
Modified Files
--------------
src/backend/commands/vacuum.c | 29 +++++++++++++++++++----------
src/backend/commands/vacuumparallel.c | 3 ++-
src/backend/postmaster/autovacuum.c | 34 ++++++++++++++--------------------
src/include/commands/vacuum.h | 5 +++++
src/include/postmaster/autovacuum.h | 3 ---
5 files changed, 40 insertions(+), 34 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2023-04-06 23:20:20 | pgsql: heapam: Pass number of required pages to RelationGetBufferForTup |
Previous Message | Tom Lane | 2023-04-06 22:14:37 | pgsql: Stabilize just-added regression test cases. |