Se stai usando Postgres 9.5 o versioni successive (cosa che presumo tu lo sia, dato che è stato rilasciato a gennaio 2016), c'è un utilissimo ON CONFLICT
cluase puoi usare:
INSERT INTO mytable (id, col1, col2)
VALUES (123, 'some_value', 'some_other_value')
ON CONFLICT (id) DO NOTHING