Myslím, že došlo k nedorozumění. Jedinečné omezení pro dva sloupce neznamená, že každý ze sloupců je jedinečný, ale že kombinace ze dvou sloupců je jedinečný.
Takže vaše must_be_different
se liší (a slabší) než jedinečná omezení prompt_input_value
a collect_project_id
. Například, pokud máte tři řádky
collect_project_id | prompt_input_value
--------------------+--------------------
1 | a
1 | b
2 | b
vytvoří konflikt s oběma jedinečnými omezeními v jednom sloupci, ale ani s must_be_different
.
Myslím, že základní problém je v tom, že chcete použít INSERT ... ON CONFLICT
s mnoha jedinečnými omezeními. To nelze udělat; viz tuto otázku
k diskusi a potenciálním řešením.