After upgrade from version9.4.1 to 10.15, changes on the table structure

Поиск
Список
Период
Сортировка
От Mundla, Sankar
Тема After upgrade from version9.4.1 to 10.15, changes on the table structure
Дата
Msg-id MN2PR19MB2894A88649F46228653B64EAE0639@MN2PR19MB2894.namprd19.prod.outlook.com
обсуждение исходный текст
Ответы Re: After upgrade from version9.4.1 to 10.15, changes on the table structure  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Fujii Masao
Дата:
Сообщение: Re: BUG #16931: source code problem about commit_ts
Следующее
От: Bryan Staley
Дата:
Сообщение: Re: BUG #16941: ECPG add support for const void*