En realidad, no puede ejecutar \copy
a través de pg_query()
. No es un comando SQL . Es un meta-comando del psql cliente.
Allí puedes ejecutar:
\copy data1 FROM 'data1.txt' WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'
O ejecute el comando de shell:
psql mydb -c "\copy data1 FROM 'data1.txt'
WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'"
Tenga en cuenta las citas. Los valores deben estar entre comillas simples en PostgreSQL:'value'
.
Las comillas dobles son para identificadores, y solo se necesitan para identificadores con mayúsculas o caracteres ilegales o para palabras reservadas:"My table"
.