Check for non-deterministic FK collations before upgrade - Mailing list pgsql-hackers

From Kirill Reshke
Subject Check for non-deterministic FK collations before upgrade
Date
Msg-id CALdSSPhTRixbaTADO87Gy+BK0_HaS_6N1E9pNfp35DnMBdO4-w@mail.gmail.com
Whole thread
Responses Re: Check for non-deterministic FK collations before upgrade
List pgsql-hackers
Since PG 18/9321d2fdf808, a foreign key with different collations on the key
columns is rejected if either collation is nondeterministic.
Upgrading such cluster would fail.

```
pg_restore: error: could not execute query: ERROR:  foreign key
constraint "fk_c_k_fkey" cannot be implemented
DETAIL:  Key columns "k" of the referencing table and "k" of the
referenced table have incompatible collations: "C" and "ci_nd".  If
either collation is nondeterministic, then both collations have to be
the same.
Command was: ALTER TABLE ONLY "public"."fk_c"
    ADD CONSTRAINT "fk_c_k_fkey" FOREIGN KEY ("k") REFERENCES
"public"."fk_p"("k");

```

Add a per-database pre-check of the old cluster reporting exactly the
shapes the new cluster would reject

-- 
Best regards,
Kirill Reshke

Attachment

pgsql-hackers by date:

Previous
From: Pierre Forstmann
Date:
Subject: Re: How to run test coverage on Debian 13 ?
Next
From: Andres Freund
Date:
Subject: Re: Regression tests failures due to concurrent grants