oguimbal / pg-mem

An in memory postgres DB instance for your unit tests
MIT License
1.89k stars 94 forks source link

Unsupported `NULLS NOT DISTINCT` from `pg_pump` #392

Open AlexHromov10 opened 3 months ago

AlexHromov10 commented 3 months ago

Describe the bug

Can't load database dump, that contains NULLS NOT DISTINCT constraint.

💀 Syntax error at line 10 col 46:

 8
 9  ALTER TABLE ONLY public.employee
10      ADD CONSTRAINT employee_unique_ru UNIQUE NULLS NOT DISTINCT (initials, name, surname);;
                                                 ^
Unexpected word token: "nulls". Instead, I was expecting to see one of the following:

    - A "lparen" token

To Reproduce

CREATE TABLE public.employee (
    initials character varying(10),
    name character varying(127) NOT NULL,
    surname character varying(127) NOT NULL,
    name_en character varying NOT NULL,
    surname_en character varying NOT NULL
);

ALTER TABLE ONLY public.employee
    ADD CONSTRAINT employee_unique_en UNIQUE NULLS NOT DISTINCT (initials, name_en, surname_en);

ALTER TABLE ONLY public.employee
    ADD CONSTRAINT employee_unique_ru UNIQUE NULLS NOT DISTINCT (initials, name, surname);

pg-mem version

2.8.1