]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Optimize vacuuming of relations with no indexes.
authorRobert Haas <rhaas@postgresql.org>
Thu, 18 Jan 2024 15:03:42 +0000 (10:03 -0500)
committerRobert Haas <rhaas@postgresql.org>
Thu, 18 Jan 2024 15:03:42 +0000 (10:03 -0500)
commitc120550edb86b8e0d785063501c259e29aa80eb6
treec896cb8580438bd5ecf5e845ecd6def422f782d2
parent7b1dbf0a8d1d4e1e6d01a76dc45a3216e8a16d94
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
src/backend/access/heap/pruneheap.c
src/backend/access/heap/vacuumlazy.c
src/include/access/heapam.h