Với PostgreSQL 9.5, đây là chức năng gốc (giống như MySQL đã có trong vài năm):
CHÈN ... BẬT MÀ KHÔNG CÓ GÌ / CẬP NHẬT ("UPSERT")
9.5 hỗ trợ cho các hoạt động của "UPSERT". Điều khoản này chỉ định một hành động thay thế cần thực hiện trong trường hợp vi phạm trùng lặp.
...
Ví dụ thêm về cú pháp mới:
INSERT INTO user_logins (username, logins)
VALUES ('Naomi',1),('James',1)
ON CONFLICT (username)
DO UPDATE SET logins = user_logins.logins + EXCLUDED.logins;