Принцип работы UPSERT-операции в PostgreSQL заключается в том, что при вставке новой строки в таблицу PostgreSQL выполнит обновление строки, если для неё уже есть запись. 3 Если нет, то будет добавлена новая строка. 3
База данных определяет, существует ли запись, на основе условий конфликта, заданных в запросе UPSERT. 2 Таким образом, при выполнении UPSERT система либо вставляет новую строку в таблицу, если эта запись ещё не существует, либо обновляет существующую запись новыми значениями. 2
В PostgreSQL UPSERT реализуется с помощью предложения ON CONFLICT команды INSERT. 4 Оно указывает альтернативное действие на случай возникновения конфликта во время операции вставки. 4
Идея операции в том, чтобы поддерживать целостность данных, не позволяя вставлять в таблицу дублирующиеся записи. 2