After upgrade from version9.4.1 to 10.15, changes on the table structure - Mailing list pgsql-bugs

From Mundla, Sankar
Subject After upgrade from version9.4.1 to 10.15, changes on the table structure
Date
Msg-id MN2PR19MB2894A88649F46228653B64EAE0639@MN2PR19MB2894.namprd19.prod.outlook.com
Whole thread Raw
Responses Re: After upgrade from version9.4.1 to 10.15, changes on the table structure  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs

Hi,

       I have created the table with the constraint like below from the where my postgres version is 9.4.1.

      CREATE TABLE com_rep.am_dummy_simulate (

id character varying(32) NOT NULL,

label_key character varying(1020) NOT NULL,

is_editable_ind boolean NOT NULL,

domain_object_type character varying(32) NOT NULL

);

ALTER TABLE com_rep.am_dummy_simulate ADD CONSTRAINT CK_am_dummy_simulation CHECK(DOMAIN_OBJECT_TYPE IN ('PRINCIPAL','TOKEN') );

 

Below my table structure:

db=# \d com_rep.am_dummy_simulate

                       Table "com_rep.am_dummy_simulate"

       Column       |          Type           | Collation | Nullable | Default

--------------------+-------------------------+-----------+----------+---------

id                 | character varying(32)   |           | not null |

label_key          | character varying(1020) |           | not null |

is_editable_ind    | boolean                 |           | not null |

domain_object_type | character varying(32)   |           | not null |

Check constraints:

    "ck_am_dummy_simulation" CHECK (domain_object_type::text = ANY (ARRAY['PRINCIPAL'::character varying, 'TOKEN'::character varying]::text[]))

 

Now I upgrade to 10.5 using pg_upgrade utility.

 

db-# \d am_dummy_simulate

            Table "com_rep.am_dummy_simulate"

       Column       |          Type           | Modifiers

--------------------+-------------------------+-----------

id                 | character varying(32)   | not null

label_key          | character varying(1020) | not null

is_editable_ind    | boolean                 | not null

domain_object_type | character varying(32)   | not null

Check constraints:

    "ck_am_dummy_simulation" CHECK (domain_object_type::text = ANY (ARRAY['PRINCIPAL'::character varying::text, 'TOKEN'::character varying::text]))

 

Why is this behavior ? I am suspecting pg_restore is doing some manipulation here.

When I checked the upgrade log,pg_dump is exporting like below.

 

CREATE TABLE com_rep.am_dummy_simulate (

    id character varying(32) NOT NULL,

    label_key character varying(1020) NOT NULL,

    is_editable_ind boolean NOT NULL,

    domain_object_type character varying(32) NOT NULL,

    CONSTRAINT ck_am_dummy_simulation CHECK (((domain_object_type)::text = ANY ((ARRAY['PRINCIPAL'::character varying, 'TOKEN'::character varying])::text[])))

);

 

 

Any explanation will be help full.

 

 

Regards,

Sankar

pgsql-bugs by date:

Previous
From: Fujii Masao
Date:
Subject: Re: BUG #16931: source code problem about commit_ts
Next
From: Bryan Staley
Date:
Subject: Re: BUG #16941: ECPG add support for const void*