Jeg tror, der er en misforståelse. En unik begrænsning over to kolonner betyder ikke, at hver af kolonnerne er unikke, men at kombinationen af de to kolonner er unik.
Så din must_be_different
er anderledes (og svagere) end de unikke begrænsninger på prompt_input_value
og collect_project_id
. For eksempel, hvis du har de tre rækker
collect_project_id | prompt_input_value
--------------------+--------------------
1 | a
1 | b
2 | b
de vil skabe en konflikt med både enkelt-kolonne unikke begrænsninger, men heller ikke med must_be_different
.
Jeg gætter på, at det underliggende problem er, at du vil bruge INSERT ... ON CONFLICT
med flere unikke begrænsninger. Det kan ikke lade sig gøre; se dette spørgsmål
til en diskussion og potentielle løsninger.