Re: Allow to collect statistics on virtual generated columns
Dean Rasheed <dean.a.rasheed@gmail.com>
From: Dean Rasheed <dean.a.rasheed@gmail.com>
To: Yugo Nagata <nagata@sraoss.co.jp>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers@postgresql.org
Date: 2026-03-24T09:18:06Z
Lists: pgsql-hackers
On Wed, 31 Dec 2025 at 10:45, Yugo Nagata <nagata@sraoss.co.jp> wrote: > > I've attached an updated patch that fixes the broken test since 10c4fe074a. > I took a look at this, and the patch appears to work as intended. However, I have my doubts as to whether this is the best approach. Building stats on a virtual generated column is potentially quite expensive, and not something that everyone will want, so I think this really should be an optional feature that people can selectively enable, if they want. Therefore, I think that the previous approach was probably better. If I'm understanding it correctly, that allowed CREATE STATISTICS stat_name ON virt_col FROM tbl; as well as allowing statistics to be built on expressions including virtual generated columns, making it more flexible. The problem with this previous approach was that it didn't work correctly if a virtual generated column's expression was changed using ALTER TABLE ... SET EXPRESSION. I think that could be solved by expanding generated column expressions at ANALYZE time, rather than at CREATE STATISTICS time. So then the expression stored in the catalogs would be one referring to virtual generated columns, not their expanded forms (compare a CHECK constraint referring to a virtual generated column). Regards, Dean
Commits
-
Add support for extended statistics on virtual generated columns.
- f7f4052a4e95 19 (unreleased) landed