Разница между UPDATE и UPSERT в PostgreSQL заключается в их функциях.
UPDATE используется для изменения существующих записей в таблице. 4
UPSERT (комбинация слов «update» и «insert») позволяет выполнять как обновление существующих записей, так и добавление новых. 15
При использовании UPSERT база данных выполняет следующие действия: 5
Эти две операции выполняются атомарно (единым запросом). 5 UPSERT упрощает логику запросов, уменьшает количество обращений к базе данных и обеспечивает лучшую целостность данных. 5