Sebenarnya, Anda tidak dapat menjalankan \copy melalui pg_query() . Ini bukan perintah SQL . Ini adalah perintah meta dari psql klien.
Di sana Anda dapat mengeksekusi:
\copy data1 FROM 'data1.txt' WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'
Atau jalankan perintah shell:
psql mydb -c "\copy data1 FROM 'data1.txt'
WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'"
Perhatikan kutipannya. Nilai harus dikutip tunggal di PostgreSQL:'value' .
Kutipan ganda adalah untuk pengidentifikasi - dan sebenarnya hanya diperlukan untuk pengidentifikasi dengan huruf besar atau karakter ilegal atau untuk kata-kata yang dicadangkan:"My table" .