On 01.03.2018 18:09, Tom Lane wrote:
Ideally, at least, the estimate would remain on-target.
The test shows that under this particular scenario the estimated number of tuples grows after each ANALYZE. I tried to explain how this happens in the attached pdf. The direct averaging of the number of tuples, not using the density, doesn't have this problem, so I suppose it could help.
I think you're reinventing the way we used to do it. Perhaps consulting the git history in the vicinity of this code would be enlightening.
I see that before vac_estimate_reltuples was introduced, the results of analyze and vacuum were used directly, without averaging. What I am suggesting is to use a different way of averaging, not to remove it.
-- Alexander Kuzmenkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
analyze.tex.pdf
Description: Adobe PDF document