Мисля, че има недоразумение. Уникалното ограничение за две колони не означава, че всяка от колоните е уникална, а че комбинацията от двете колони е уникален.
Така че вашият must_be_different
е различен (и по-слаб) от уникалните ограничения на prompt_input_value
и collect_project_id
. Например, ако имате трите реда
collect_project_id | prompt_input_value
--------------------+--------------------
1 | a
1 | b
2 | b
те ще създадат конфликт и с двете уникални ограничения в една колона, но нито с must_be_different
.
Предполагам, че основният проблем е, че искате да използвате INSERT ... ON CONFLICT
с множество уникални ограничения. Това не може да се направи; вижте този въпрос
за дискусия и потенциални решения.