pgsql: ANALYZE a_star and its children to avoid plan instability in tes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: ANALYZE a_star and its children to avoid plan instability in tes
Date: 2019-09-27 15:28:33
Message-ID: E1iDsAb-0004mT-WD@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

ANALYZE a_star and its children to avoid plan instability in tests.

We've noted certain EXPLAIN queries on these tables occasionally showing
unexpected plan choices. This seems to happen because VACUUM sometimes
fails to update relpages/reltuples for one of these single-page tables,
due to bgwriter or checkpointer holding a pin on the lone page at just
the wrong time. To ensure those values get set, insert explicit ANALYZE
operations on these tables after we finish populating them. This
doesn't seem to affect any other test cases, so it's a usable fix.

Back-patch to v12. In principle the issue exists further back, but
we have not seen it before v12, so I won't risk back-patching further.

Discussion: https://postgr.es/m/24480.1569518042@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b9bffa004a9980ac235b6ff541ee2fe0e9800372

Modified Files
--------------
src/test/regress/expected/create_misc.out | 7 +++++++
src/test/regress/sql/create_misc.sql | 8 ++++++++
2 files changed, 15 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2019-09-27 15:28:34 pgsql: ANALYZE a_star and its children to avoid plan instability in tes
Previous Message Tom Lane 2019-09-27 15:02:06 pgsql: Doc: clean up markup for jsonb_set and related functions.