Thread

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK constraints

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

    Peter Eisentraut <peter@eisentraut.org> — 2026-02-24T09:42:06Z

    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(-)
    
    
  2. typo in alter_table.sgml (was: Re: pgsql: Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK)

    Erik Rijkers <er@xs4all.nl> — 2026-02-26T14:16:22Z

    Op 2/24/26 om 10:42 schreef Peter Eisentraut:
    > Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK constraints
    > [...]
    > 
    > Branch
    > ------
    > master
    > 
    > Details
    > -------
    > https://git.postgresql.org/pg/commitdiff/f80bedd52b1501de51b7180cd817e3e1fc31429d
    > 
    > Modified Files
    > --------------
    > doc/src/sgml/ref/alter_table.sgml               |  3 ++
    
    Hi,
    
    Typo in doc/src/sgml/ref/alter_table.sgml:
    
    
    -      Replacing the expression of a virtual generated column do not 
    require a
    +      Replacing the expression of a virtual generated column does not 
    require a
    
    Thanks,
    
    Erik
    
    
  3. Re: typo in alter_table.sgml (was: Re: pgsql: Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK)

    Chao Li <li.evan.chao@gmail.com> — 2026-02-26T23:21:01Z

    
    > On Feb 26, 2026, at 22:16, Erik Rijkers <er@xs4all.nl> wrote:
    > 
    > Op 2/24/26 om 10:42 schreef Peter Eisentraut:
    >> Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK constraints
    >> [...]
    >> Branch
    >> ------
    >> master
    >> Details
    >> -------
    >> https://git.postgresql.org/pg/commitdiff/f80bedd52b1501de51b7180cd817e3e1fc31429d
    >> Modified Files
    >> --------------
    >> doc/src/sgml/ref/alter_table.sgml               |  3 ++
    > 
    > Hi,
    > 
    > Typo in doc/src/sgml/ref/alter_table.sgml:
    > 
    > 
    > -      Replacing the expression of a virtual generated column do not require a
    > +      Replacing the expression of a virtual generated column does not require a
    > 
    > Thanks,
    > 
    > Erik
    > 
    > <alter_table.sgml.20260226.diff>
    
    “Do” -> “does”, looks like a correct grammar fix to me.
    
    Best regards,
    --
    Chao Li (Evan)
    HighGo Software Co., Ltd.
    https://www.highgo.com/
    
    
    
    
    
    
    
    
  4. Re: typo in alter_table.sgml (was: Re: pgsql: Allow ALTER COLUMN SET EXPRESSION on virtual columns with CHECK)

    Michael Paquier <michael@paquier.xyz> — 2026-03-02T02:35:02Z

    On Thu, Feb 26, 2026 at 03:16:22PM +0100, Erik Rijkers wrote:
    > -      Replacing the expression of a virtual generated column do not require
    > a
    > +      Replacing the expression of a virtual generated column does not
    > require a
    
    Thanks.  This applies only to HEAD.  Grabbed that for later.
    --
    Michael