Re: ALTER COLUMN to change GENERATED ALWAYS AS expression?

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: Philip Semanchuk <philip(at)americanefficient(dot)com>, PostgreSQL General <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: ALTER COLUMN to change GENERATED ALWAYS AS expression?
Date: 2023-02-07 08:30:48
Message-ID: 6442cf200b9ba3d86e695172c4da98a802bda48e.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, 2023-02-06 at 12:04 -0500, Philip Semanchuk wrote:
> I have a column defined GENERATED ALWAYS AS {my_expression} STORED. I’d like to change the
> {my_expression} part. After reading the documentation for ALTER TABLE
> (https://www.postgresql.org/docs/current/sql-altertable.html) and trying a few things that
> resulted in syntax errors, there doesn’t seem to be a way to alter the column’s GENERATED
> expression in place. It seems like my only option is to drop and re-add the column.
> Is that correct?

I think that is correct. But changing the expression would mean rewriting the column
anyway. The only downside is that a dropped column remains in the table, and no even
a VACUUM (FULL) will get rid of it.

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rahila Syed 2023-02-07 09:05:26 Re: Logical Replication - "invalid ordering of speculative insertion changes"
Previous Message Pavel Stehule 2023-02-07 05:12:39 Re: Language options for GIN index support functions