On Mon, 2021-09-06 at 11:59 -0400, Tom Lane wrote:
> Laurenz Albe <laurenz.albe@cybertec.at> writes:
> > It is not an incompatibility that warrants a mention in the release notes,
> > but perhaps somthing in
> > https://www.postgresql.org/docs/14/indexes-index-only-scans.html
> > and/or
> > https://www.postgresql.org/docs/14/routine-vacuuming.html#VACUUM-FOR-VISIBILITY-MAP
> > could be added that recommends that people should consider frequent
> > VACUUM with "index_cleanup = on" for best performance with index-only scans.
>
> If enough pages would change their all-visible state to make a significant
> difference in index-only scan performance, VACUUM should not be skipping
> the cleanup. If it is, the threshold for that is too aggressive.
>
> Assuming that that choice was made appropriately, I think the advice you
> propose here will just cause people to waste lots of cycles on VACUUM
> runs that have only marginal effects.
#define BYPASS_THRESHOLD_PAGES 0.02 /* i.e. 2% of rel_pages */
So up to an additional 2% of all pages can have the all-visible bit
unset with "index_cleanup = auto".
That is probably not worth worrying, right?
Yours,
Laurenz Albe