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(-)