On Fri, May 11, 2018 at 04:00:58PM -0300, Alvaro Herrera wrote: > Bruce Momjian wrote: > > > OK, so what is the text that people will understand? This? > > > > Prevent manual VACUUMs on append-only tables from performing > > needless index scans > > Make vacuum cheaper by avoiding scans of btree indexes when not > necessary > ? > > Why "manual vacuum"? It's a problem with vacuums invoked from > autovacuum too.
Uh, from the commit it says: When workload on particular table is append-only, then autovacuum isn't intended to touch this table. However, user may run vacuum manually in order to fill visibility map and get benefits of -------- index-only scans. Then ambulkdelete wouldn't be called for indexes of such table (because no heap tuples were deleted), only --------------------------- amvacuumcleanup would be called In this case, amvacuumcleanup would perform full index scan for two objectives: put recyclable pages into free space map and update index statistics. Why would autovacuum run on a table with no expired index entries? Personally, I think the fact that autovacuum doesn't run on suvch tables and therefore doesn't automatically do index-only scans is a problem. I tried to fix it years ago, but failed and gave up. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +