Re: Option to not use ringbuffer in VACUUM, using it in failsafe mode
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org, Robert Haas <robertmhaas@gmail.com>, Melanie Plageman <melanieplageman@gmail.com>,
David Rowley <dgrowleyml@gmail.com>
Date: 2023-01-11T19:06:26Z
Lists: pgsql-hackers
On Wed, Jan 11, 2023 at 10:58 AM Andres Freund <andres@anarazel.de> wrote: > Any idea about the name? The obvious thing is to reference ring buffers in the > option name, but that's more of an implementation detail... What are the chances that anybody using this feature via a manual VACUUM command will also use INDEX_CLEANUP off? It's not really supposed to be used routinely, at all. Right? It's just for emergencies. Perhaps it can be tied to INDEX_CLEANUP=off? That makes it hard to get just the behavior you want when testing VACUUM, but maybe that doesn't matter. Realistically, most of the value here comes from changing the failsafe behavior, which doesn't require the user to know anything about VACUUM. I know that AWS has reduced the vacuum_failsafe_age default on RDS to 1.2 billion (a decision made before I joined Amazon), so it is already something AWS lean on quite a bit where available. -- Peter Geoghegan
Commits
-
Add unit to vacuum_buffer_usage_limit value in postgresql.conf.sample.
- b72f564d87d1 16.0 landed
-
Improve VACUUM/ANALYZE BUFFER_USAGE_LIMIT docs
- c0235013c13b 16.0 landed
-
Add --buffer-usage-limit option to vacuumdb
- ae78cae3be62 16.0 landed
-
Add VACUUM/ANALYZE BUFFER_USAGE_LIMIT option
- 1cbbee033857 16.0 landed
-
Move various prechecks from vacuum() into ExecVacuum()
- b9b125b9c143 16.0 landed
-
Always make a BufferAccessStrategy for ANALYZE
- bccd6908ca82 16.0 landed
-
Rename BufferAccessStrategyData.ring_size to nbuffers
- 8d928e3a9fe7 16.0 landed
-
Disable vacuum's use of a buffer access strategy during failsafe
- 4830f1024325 16.0 landed
-
Only make buffer strategy for vacuum when it's likely needed
- 32fbe0239b03 16.0 landed
-
Remove some global variables from vacuum.c
- 3f476c953495 16.0 landed
-
Doc: add Buffer Access Strategy to the glossary
- c8f8d0eb1868 16.0 landed