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: v1-0001-Check-for-foreign-key-with-non-deterministic-coll.patch
Description: Binary data

Reply via email to