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 <bruce@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 +