Hvis du bruger Postgres 9.5 eller nyere (hvilket jeg antager, du er, da det blev udgivet tilbage i januar 2016), er der en meget nyttig ON CONFLICT
du kan bruge:
INSERT INTO mytable (id, col1, col2)
VALUES (123, 'some_value', 'some_other_value')
ON CONFLICT (id) DO NOTHING