pgsql: Fix pg_statio_all_tables view for multiple TOAST indexes.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix pg_statio_all_tables view for multiple TOAST indexes.
Date: 2022-03-24 20:33:19
Message-ID: E1nXU90-001Ddp-N7@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix pg_statio_all_tables view for multiple TOAST indexes.

A TOAST table can normally have only one index, but there are corner
cases where it has more; for example, transiently during REINDEX
CONCURRENTLY. In such a case, the pg_statio_all_tables view produced
multiple rows for the owning table, one per TOAST index. Refactor the
view to avoid that, instead summing the stats across all the indexes,
as we do for regular table indexes.

While this has been wrong for a long time, back-patching seems unwise
due to the difficulty of putting a system view change into back
branches.

Andrei Zubkov, tweaked a bit by me

Discussion: https://postgr.es/m/acefef4189706971fc475f912c1afdab1c48d627.camel@moonset.ru

Branch
------
master

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

Modified Files
--------------
src/backend/catalog/system_views.sql | 31 ++++++++++++++++++++-----------
src/include/catalog/catversion.h | 2 +-
src/test/regress/expected/rules.out | 21 +++++++++++++--------
3 files changed, 34 insertions(+), 20 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Daniel Gustafsson 2022-03-24 21:44:02 pgsql: List offending databases in pg_upgrade datallowconn check
Previous Message Daniel Gustafsson 2022-03-24 20:01:04 pgsql: Remove unused module imports from TAP tests