pgsql: Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: pgsql-committers@lists.postgresql.org
Date: 2026-02-24T09:42:06Z
Lists: pgsql-hackers
Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK constraints Previously, changing the generation expression of a virtual column was prohibited if the column was referenced by a CHECK constraint. This lifts that restriction. RememberAllDependentForRebuilding within ATExecSetExpression will rebuild all the dependent constraints, later ATPostAlterTypeCleanup queues the required AlterTableStmt operations for ALTER TABLE Phase 3 execution. Overall, ALTER COLUMN SET EXPRESSION on virtual columns may require scanning the table to re-verify any associated CHECK constraints, but it does not require a table rewrite in ALTER TABLE Phase 3. Author: jian he <jian.universality@gmail.com> Reviewed-by: Matheus Alcantara <matheusssilv97@gmail.com> Discussion: https://postgr.es/m/CACJufxH3VETr7orF5rW29GnDk3n1wWbOE3WdkHYd3iPGrQ9E_A@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/f80bedd52b1501de51b7180cd817e3e1fc31429d Modified Files -------------- doc/src/sgml/ref/alter_table.sgml | 3 ++ src/backend/commands/tablecmds.c | 25 ++++------------ src/test/regress/expected/generated_virtual.out | 39 +++++++++++++++++++++---- src/test/regress/sql/generated_virtual.sql | 16 ++++++++-- 4 files changed, 56 insertions(+), 27 deletions(-)
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK constraints
- f80bedd52b15 19 (unreleased) cited