Faktisk kan du ikke køre \copy
via pg_query()
. Det er ikke en SQL-kommando . Det er en metakommando af psql klient.
Der kan du undskylde:
\copy data1 FROM 'data1.txt' WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'
Eller kør shell-kommandoen:
psql mydb -c "\copy data1 FROM 'data1.txt'
WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'"
Bemærk citaterne. Værdier skal anføres enkeltvis i PostgreSQL:'value'
.
Dobbelt anførselstegn er for identifikatorer - og er faktisk kun nødvendige for identifikatorer med store bogstaver eller ulovlige tegn eller for reserverede ord:"My table"
.