> On Feb 7, 2023, at 3:30 AM, Laurenz Albe <laurenz.a...@cybertec.at> wrote:
> 
> 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.

Thanks for the confirmation. I hadn’t realized that the column would remain in 
the table even after a DROP + VACUUM FULL. I’m curious — its presence as a 
deleted column doesn't  affect performance in any meaningful way, does it? 

In this case we have the option of dropping and re-creating the table entirely, 
and that's probably what I'll do.

Cheers
Philip

Reply via email to