pgsql: Disable vacuum's use of a buffer access strategy during failsafe

Поиск
Список
Период
Сортировка
От David Rowley
Тема pgsql: Disable vacuum's use of a buffer access strategy during failsafe
Дата
Msg-id E1pjI1d-0019CD-EB@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Disable vacuum's use of a buffer access strategy during failsafe

Traditionally, vacuum always makes use of a buffer access strategy 32
buffers in size.  This means that running vacuums tend not to cause too
many shared buffers to become dirty, however, this can cause vacuums to
run much more slowly than they otherwise could as WAL flushes will occur
more frequently due to having to flush WAL out to the LSN of the dirty
page before that page can be written to disk.

When we are performing failsafe VACUUMs (as added in 1e55e7d17), we really
want to make the vacuum work go as quickly as possible, so here we disable
the buffer access strategy when entering failsafe mode while vacuuming a
relation.

Per idea and analyis from Andres Freund.

In passing, also include some changes I had intended for 32fbe0239.

Author: Melanie Plageman
Reviewed-by: Justin Pryzby, David Rowley
Discussion: https://postgr.es/m/20230111182720.ejifsclfwymw2reb%40awork3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4830f102432518d06b50f61e0ab4c0c07082617b

Modified Files
--------------
doc/src/sgml/config.sgml             | 8 ++++++--
src/backend/access/heap/vacuumlazy.c | 7 +++++++
src/backend/commands/vacuum.c        | 8 +++++---
3 files changed, 18 insertions(+), 5 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Daniel Gustafsson
Дата:
Сообщение: pgsql: Fix typo in CI README
Следующее
От: David Rowley
Дата:
Сообщение: pgsql: Rename BufferAccessStrategyData.ring_size to nbuffers