Neste post SO, existem duas respostas que - combinadas - fornecem uma boa solução para usar com sucesso
ON CONFLICT
. O exemplo abaixo usa ON CONFLICT DO NOTHING;
:CREATE TEMP TABLE tmp_table
(LIKE label INCLUDING DEFAULTS)
ON COMMIT DROP;
COPY tmp_table FROM 'full/file/name/here';
INSERT INTO main_table
SELECT *
FROM tmp_table
ON CONFLICT DO NOTHING;