Acho que há um mal-entendido. Uma restrição exclusiva em duas colunas não significa que cada uma das colunas seja única, mas que a combinação das duas colunas é único.
Portanto, seu
must_be_different
é diferente (e mais fraco) do que as restrições exclusivas em prompt_input_value
e collect_project_id
. Por exemplo, se você tiver as três linhas collect_project_id | prompt_input_value
--------------------+--------------------
1 | a
1 | b
2 | b
eles criarão um conflito com ambas as restrições exclusivas de coluna única, mas nem com
must_be_different
. Acho que o problema subjacente é que você deseja usar
INSERT ... ON CONFLICT
com várias restrições exclusivas. Isso não pode ser feito; veja esta pergunta
para uma discussão e possíveis soluções.