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

Reply via email to