Некоторые серверы SQL имеют функцию, при которой INSERT пропускается, если это нарушает ограничение первичного / уникального ключа. Например, MySQL имеет INSERT IGNORE.
INSERT
INSERT IGNORE
Какой лучший способ эмулировать INSERT IGNORE и ON DUPLICATE KEY UPDATE с PostgreSQL?
ON DUPLICATE KEY UPDATE
Для сценариев импорта данных, заменить «ЕСЛИ НЕ СУЩЕСТВУЕТ», в некотором смысле, есть немного неловкая формулировка, которая тем не менее работает:
DO $do$ BEGIN PERFORM id FROM whatever_table; IF NOT FOUND THEN -- INSERT stuff END IF; END $do$;