PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann Postgresql COPY TO STDIN mit CSV auf Conflict aktualisieren?

In diesem SO-Beitrag gibt es zwei Antworten, die - kombiniert - eine nette Lösung für die erfolgreiche Verwendung von ON CONFLICT bieten . Das folgende Beispiel verwendet 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;