Re: support ALTER COLUMN SET EXPRESSION over virtual generated column with check constraint

Matheus Alcantara <matheusssilv97@gmail.com>

From: "Matheus Alcantara" <matheusssilv97@gmail.com>
To: "jian he" <jian.universality@gmail.com>, "Matheus Alcantara" <matheusssilv97@gmail.com>
Cc: "PostgreSQL Hackers" <pgsql-hackers@lists.postgresql.org>
Date: 2026-01-20T18:48:11Z
Lists: pgsql-hackers
On Mon Jan 19, 2026 at 1:11 PM -03, jian he wrote:
> I ultimately settled on the following:
> +      Replacing the expression of a virtual generated columns do not require a
> +      table rewrite, however if the column is part of a
> <literal>CHECK</literal>
> +      constraint expression, the constraint will be rebuilt, requiring a table
> +      scan to ensure that existing rows meet the constraint.
>
Thanks for the new version. Just a minor comment

+      Replacing the expression of a virtual generated columns do not require a
+      table rewrite, however if the column is part of a <literal>CHECK</literal>
+      constraint expression, the constraint will be rebuilt, requiring a table
+      scan to ensure that existing rows meet the constraint.

I think that it sounds better with: "Replacing the expression of a
virtual generated column does not require a table rewrite..."

--
Matheus Alcantara
EDB: https://www.enterprisedb.com




Commits

  1. Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK constraints