pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Dean Rasheed <dean.a.rasheed@gmail.com>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Add support for extended statistics on virtual generated columns
Date: Wed, 01 Apr 2026 16:06:56 +0000
Message-ID: <E1w7y5n-002Tth-0w@gemulon.postgresql.org> (raw)

Add support for extended statistics on virtual generated columns.

This allows both univariate and multivariate statistics to be built on
virtual generated columns and expressions that refer to virtual
generated columns. The restriction disallowing extended statistics on
a single column is lifted in the case of a single virtual generated
column, since it is treated as a single expression.

In the catalogs, references to virtual generated columns are stored
as-is. They are expanded at ANALYZE time to build the statistics, and
at planning time to allow the optimizer to make use of the statistics.
This allows the statistics to be correctly rebuilt using ANALYZE, if a
column's generation expression is altered (which causes any existing
statistics data to be deleted).

Author: Yugo Nagata <nagata@sraoss.co.jp>
Reviewed-by: Dean Rasheed <dean.a.rasheed@gmail.com>
Discussion: https://postgr.es/m/20250422181006.dd6f9d1d81299f5b2ad55e1a@sraoss.co.jp

Branch
------
master

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

Modified Files
--------------
doc/src/sgml/ref/alter_table.sgml       |  12 ++-
doc/src/sgml/ref/create_statistics.sgml |  30 +++++--
src/backend/commands/statscmds.c        | 143 +++++++++++++++++---------------
src/backend/optimizer/util/plancat.c    |   3 +
src/backend/statistics/extended_stats.c |  13 ++-
src/test/regress/expected/stats_ext.out |  95 ++++++++++++++++-----
src/test/regress/sql/stats_ext.sql      |  54 ++++++++----
7 files changed, 233 insertions(+), 117 deletions(-)



Message-ID: <E1w7y5n-002Tth-0w@gemulon.postgresql.org>
Permalink:  ../E1w7y5n-002Tth-0w@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1w7y5n-002Tth-0w@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: dean.a.rasheed@gmail.com, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Add support for extended statistics on virtual generated columns
  In-Reply-To: <E1w7y5n-002Tth-0w@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox