Optimize vacuuming of relations with no indexes.
If there are no indexes on a relation, items can be marked LP_UNUSED
instead of LP_DEAD when pruning. This significantly reduces WAL
volume, since we no longer need to emit one WAL record for pruning
and a second to change the LP_DEAD line pointers thus created to
LP_UNUSED.
Melanie Plageman, reviewed by Andres Freund, Peter Geoghegan, and me
Discussion: https://postgr.es/m/CAAKRu_bgvb_k0gKOXWzNKWHt560R0smrGe3E8zewKPs8fiMKkw%40mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/c120550edb86b8e0d785063501c259e29aa80eb6
Modified Files
--------------
src/backend/access/heap/pruneheap.c | 80 ++++++++++++++++++----
src/backend/access/heap/vacuumlazy.c | 129 +++++++++++------------------------
src/include/access/heapam.h | 1 +
3 files changed, 108 insertions(+), 102 deletions(-)