PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment Postgresql COPY TO STDIN With CSV do on conflic do update?

Dans cet article SO, il y a deux réponses qui - combinées ensemble - fournissent une solution intéressante pour utiliser avec succès ON CONFLICT . L'exemple ci-dessous utilise 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;