Да, и това поведение е по подразбиране. Всяко нарушение на уникалното ограничение представлява конфликт и след това UPDATE се изпълнява, ако ON CONFLICT DO UPDATE е посочено. INSERT изразът може да има само един ON CONFLICT клауза, но conflict_target на тази клауза може да посочи няколко имена на колони, всяка от които трябва да има индекс, като например UNIQUE ограничение. Вие обаче сте ограничени до едно conflict_action и няма да имате информация кое ограничение е причинило конфликта при обработката на това действие. Ако имате нужда от такъв вид информация или специфично действие в зависимост от нарушението на ограничението, трябва да напишете тригерна функция, но тогава губите изключително важната атомарност на INSERT ... ON CONFLICT DO ... изявление.