pgsql: Add pg_stats_ext view for extended statistics

From: Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add pg_stats_ext view for extended statistics
Date: 2019-06-15 23:21:16
Message-ID: E1hcHz2-0005ma-5H@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add pg_stats_ext view for extended statistics

Regular per-column statistics are stored in pg_statistics catalog, which
is however rather difficult to read, so we also have pg_stats view with
a human-reablable version of the data.

For extended statistic the catalog was fairly easy to read, so we did
not have such human-readable view so far. Commit 9b6babfa2d however did
split the catalog into two, which makes querying harder. Furthermore,
we want to show the multi-column MCV list in a way similar to per-column
stats (and not as a bytea value).

This commit introduces pg_stats_ext view, joining the two catalogs and
massaging the data to produce human-readable output similar to pg_stats.
It also considers RLS and access privileges - the data is shown only when
the user has access to all columns the extended statistic is defined on.

Bumped CATVERSION due to adding new system view.

Author: Dean Rasheed, with improvements by me
Reviewed-by: Dean Rasheed, John Naylor
Discussion: https://postgr.es/m/CAEZATCUhT9rt7Ui%3DVdx4N%3D%3DVV5XOK5dsXfnGgVOz_JhAicB%3DZA%40mail.gmail.com

Branch
------
master

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

Modified Files
--------------
doc/src/sgml/catalogs.sgml | 192 +++++++++++++++++++++++++++++++++++
src/backend/catalog/system_views.sql | 41 ++++++++
src/include/catalog/catversion.h | 2 +-
src/test/regress/expected/rules.out | 29 ++++++
4 files changed, 263 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2019-06-16 01:18:18 Re: pgsql: Rework the pg_statistic_ext catalog
Previous Message Alvaro Herrera 2019-06-15 22:47:13 Re: pgsql: Avoid spurious deadlocks when upgrading a tuple lock