Penso che ci sia un malinteso. Un vincolo univoco su due colonne non significa che ciascuna colonna sia unica, ma che la combinazione delle due colonne è unico.
Quindi il tuo must_be_different
è diverso (e più debole) rispetto ai vincoli univoci su prompt_input_value
e collect_project_id
. Ad esempio, se hai le tre righe
collect_project_id | prompt_input_value
--------------------+--------------------
1 | a
1 | b
2 | b
creeranno un conflitto con entrambi i vincoli univoci a colonna singola, ma nemmeno con must_be_different
.
Immagino che il problema di fondo sia che vuoi usare INSERT ... ON CONFLICT
con molteplici vincoli univoci. Ciò non può essere fatto; vedi questa domanda
per una discussione e potenziali soluzioni.