David Rowley <dgrowley@gmail.com> writes:
> On Tue, 31 Mar 2020 at 15:55, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Now this *IS* autovacuum interference, but it's hardly autovacuum's fault:
>> the test script is supposing that autovac won't come in before it does a
>> manual analyze, and that's just unsafe on its face.
> Why would that matter?
Look again at the failure: the problem is that the test script is
populating a table, then doing an EXPLAIN and expecting to see
results corresponding to a *not*-ANALYZED table, then doing ANALYZE,
then expecting to see EXPLAIN results corresponding to the analyzed
state. It's the second step of that that is vulnerable to an
ill-timed auto analyze. The only way to prevent it is to disable
autovac altogether on the table, as I did a little while ago
at 0936d1b6f.
This is of course not like the cases we've actually seen so far
in the buildfarm, but it's a case that I produced once and it
would surely recur.
It will be interesting to see if 0936d1b6f really fixes the issue
altogether or the instability continues --- but if it does, then
autovacuum is not the problem.
regards, tom lane