From: | jian he <jian(dot)universality(at)gmail(dot)com> |
---|---|
To: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> |
Cc: | Peter Eisentraut <peter(at)eisentraut(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Why cannot alter a column's type when it's used by a generated column |
Date: | 2025-10-22 02:39:41 |
Message-ID: | CACJufxHCji+0q5-Wf3B8QD-Pm8LH_D6LAoptrHxFZBK20Rk5Jw@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Oct 21, 2025 at 3:56 PM Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> wrote:
> > On Oct 21, 2025, at 15:30, jian he <jian(dot)universality(at)gmail(dot)com> wrote:
> >
> > +-- So, you can change a column's type as long as any dependent generated
> > +-- column already has a set expression defined:
> > +ALTER TABLE gtest27
> > + ALTER COLUMN a TYPE float8,
> > + ALTER COLUMN x SET EXPRESSION AS ((a::int + b) * 2);
> > +\d gtest27
> > + Table "generated_stored_tests.gtest27"
> > + Column | Type | Collation | Nullable |
> > Default
> > +--------+------------------+-----------+----------+---------------------------------------------------
> > + a | double precision | | |
> > + b | bigint | | |
> > + x | bigint | | | generated always
> > as ((a::integer + b) * 2) stored
> > +
> >
> > the above output seems wrong?
> > one way to quickly test it is create table gtest27 again
>
> I don’t get what is wrong? Actually “make check” passed from my side:
>
Sorry for the noise, I misunderstood something.
I think I understand what your patch does now.
I’ll polish my patch and submit it in a new thread.
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Curtis | 2025-10-22 03:07:10 | Re: Fix race condition in SSI when reading PredXact->SxactGlobalXmin |
Previous Message | Fujii Masao | 2025-10-22 02:34:13 | Re: Fix lag columns in pg_stat_replication not advancing when replay LSN stalls |