Re: Periodic FSM vacuum doesn't happen in one-pass strategy vacuum.
Melanie Plageman <melanieplageman@gmail.com>
From: Melanie Plageman <melanieplageman@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>,
Robert Haas <robertmhaas@gmail.com>, Peter Geoghegan <pg@bowt.ie>
Date: 2025-06-30T13:20:33Z
Lists: pgsql-hackers
On Tue, Jun 24, 2025 at 6:59 PM Melanie Plageman <melanieplageman@gmail.com> wrote: > > So, I think we should commit the fix you proposed. > > The only question I have left is implementation: should we have > ndeleted as an output parameter of lazy_scan_prune() or have > lazy_scan_prune() return it (instead of void)? > > In <= 16, heap_page_prune() returned the number of tuples deleted, so > I thought of maybe having lazy_scan_prune() do this. Though, maybe it > is confusing to have one result returned as the return value and the > others returned in output parameters unless there is something more > special about ndeleted. With heap_page_prune(), I think it was the > return value because that was kind of what heap_page_prune() > "accomplished". Hi Sawada-san, Just checking what you thought about this. We probably want to get this committed and backported relatively soon. I'm happy to help with that if needed but just want to make sure we are on the same page about the fix. - Melanie
Commits
-
Fix missing FSM vacuum opportunities on tables without indexes.
- 3811ca3600a3 19 (unreleased) landed
- 7c6ededac82b 18.0 landed
- 792238c8b4a1 17.6 landed
-
Optimize vacuuming of relations with no indexes.
- c120550edb86 17.0 cited