Re: BUG #15446: Crash on ALTER TABLE - Mailing list pgsql-bugs

From Andrew Dunstan
Subject Re: BUG #15446: Crash on ALTER TABLE
Date
Msg-id f66296a1-2b66-e392-0ba0-64175d0846ec@2ndQuadrant.com
Whole thread Raw
In response to Re: BUG #15446: Crash on ALTER TABLE  (Andres Freund <andres@anarazel.de>)
List pgsql-bugs
On 1/5/19 12:09 PM, Andres Freund wrote:
> Hi,
>
> On 2019-01-05 12:11:45 +0000, Dean Rasheed wrote:
>> It looks like the problem was introduced in PG11 by 16828d5c02 (Fast
>> ALTER TABLE ADD COLUMN with a non-NULL default). The first ALTER TABLE
>> adds a new column with a non-null default, setting atthasmissing and
>> attmissingval. Then the second ALTER TABLE changes the type of the new
>> column, but it fails to update attmissingval to match, and thus it
>> falls over when trying to re-open the relation because the value in
>> attmissingval is no longer compatible with the attribute type.
> Paging Dr Dunstan.



Investigating with this test case:


    DROP TABLE IF EXISTS foo;
    CREATE TABLE foo (a int);
    ALTER TABLE foo ADD COLUMN b double precision DEFAULT 0.2;
    ALTER TABLE foo ALTER COLUMN b TYPE varchar(5) USING b::varchar(5);


cheers


andrew

-- 
Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #15577: Query returns different results when executed multipletimes
Next
From: David Rowley
Date:
Subject: Re: BUG #15577: Query returns different results when executedmultiple times