Re: Removing vacuum_cleanup_index_scale_factor

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-03-08T21:38:55Z
Lists: pgsql-hackers
Peter Geoghegan <pg@bowt.ie> writes:
> I think that a simpler approach would work better: When
> ANALYZE/do_analyze_rel() decides whether or not it should call
> vac_update_relstats() for each index, it should simply not care
> whether or not this is a VACUUM ANALYZE (as opposed to a simple
> ANALYZE). This is already what we do for the heap relation itself. Why
> shouldn't we do something similar for indexes?

> What do you think, Tom? Your bugfix commit b4b6923e03f from 2011
> taught do_analyze_rel() to not care about whether VACUUM took place
> earlier in the same command -- though only in the case of the heap
> relation (not in the case of its indexes). That decision now seems a
> bit arbitrary to me.

Well, nobody had complained about the index stats at that point,
so I don't think I was thinking about that aspect of it.

As you say, the history here is a bit convoluted, but it seems like
a good principle to avoid interconnections between VACUUM and ANALYZE
as much as we can.  I haven't been paying enough attention to this
thread to have more insight than that.

			regards, tom lane



Commits

  1. VACUUM ANALYZE: Always update pg_class.reltuples.

  2. Don't consider newly inserted tuples in nbtree VACUUM.

  3. Fix nbtree cleanup-only VACUUM stats inaccuracies.

  4. Disable recheck_on_update optimization to avoid crashes.

  5. Fix VACUUM so that it always updates pg_class.reltuples/relpages.

  6. Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion.

  7. First steps towards statistics on expressional (nee functional) indexes.