Add pg_stats_ext view for extended statistics

Enterprise / PostgreSQL - Tomas Vondra [postgresql.org] - 15 June 2019 23:20 EDT

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

aa087ec64f Add pg_stats_ext view for extended statistics
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(-)

Upstream: git.postgresql.org


  • Share