Всъщност не можете да стартирате \copy
чрез pg_query()
. Това не е SQL команда . Това е мета-команда на psql клиент.
Там можете да изпълните:
\copy data1 FROM 'data1.txt' WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'
Или изпълнете shell-командата:
psql mydb -c "\copy data1 FROM 'data1.txt'
WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'"
Обърнете внимание на цитатите. Стойностите трябва да са в единични кавички в PostgreSQL:'value'
.
Двойните кавички са за идентификатори - и всъщност са необходими само за идентификатори с главни букви или незаконен знак или за запазени думи:"My table"
.