| From: | jian he <jian(dot)universality(at)gmail(dot)com> |
|---|---|
| To: | Matheus Alcantara <matheusssilv97(at)gmail(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: support ALTER COLUMN SET EXPRESSION over virtual generated column with check constraint |
| Date: | 2026-01-19 16:11:48 |
| Message-ID: | CACJufxFefRWT6wTkShcMoZ+enEXpyEb7if+GziFMSoMUZN_Csw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Sat, Jan 17, 2026 at 12:07 AM Matheus Alcantara
<matheusssilv97(at)gmail(dot)com> wrote:
>
> >
> > <varlistentry id="sql-altertable-desc-set-expression">
> > <term><literal>SET EXPRESSION AS</literal></term>
> > <listitem>
> > <para>
> > This form replaces the expression of a generated column. Existing data
> > in a stored generated column is rewritten and all the future changes
> > will apply the new generation expression.
> > + 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.
> > </para>
>
> Sounds good.
>
hi.
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.
| Attachment | Content-Type | Size |
|---|---|---|
| v4-0001-Allow-ALTER-COLUMN-SET-EXPRESSION-on-virtual-columns-with-CHECK-c.patch | text/x-patch | 9.2 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2026-01-19 16:14:40 | Re: tablecmds: clarify recurse vs recusing |
| Previous Message | Ashutosh Bapat | 2026-01-19 16:02:54 | Re: tablecmds: clarify recurse vs recusing |