In realtà, non puoi eseguire \copy
tramite pg_query()
. Non è non un comando SQL . È un meta-comando di psql cliente.
Lì puoi eseguire:
\copy data1 FROM 'data1.txt' WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'
Oppure esegui il comando shell:
psql mydb -c "\copy data1 FROM 'data1.txt'
WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'"
Nota le citazioni. I valori devono essere virgolette singoli in PostgreSQL:'value'
.
Le virgolette doppie servono per gli identificatori e sono effettivamente necessarie solo per gli identificatori con lettere maiuscole o non valide o per le parole riservate:"My table"
.