PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

In che modo Postgresql COPY TO STDIN con CSV esegue l'aggiornamento in conflitto?

In questo post SO, ci sono due risposte che, combinate insieme, forniscono una buona soluzione per utilizzare con successo ON CONFLICT . L'esempio seguente 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;