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

Psql COPY con vincolo non riesce

Sembra che il tuo csv di origine stia usando il ' (virgolette singole) per citare tutte le colonne. Puoi specificarlo come carattere di virgolette usando l'opzione QUOTE

Il \copy il comando sta tentando di caricare 'old' nella colonna di stato che controlla che i valori siano new o old . Le virgolette extra violano il vincolo.

\copy example_table(name,status) FROM example.sql DELIMITER ',' CSV Header QUOTE ''''

Sono necessarie 4 virgolette singole perché 1 specifica il carattere di virgoletta effettivo, 1 per evitare il carattere di virgoletta e 2 racchiude il carattere di virgoletta di escape.