4

I want to use the \copy command to make csv file with relative path. I used a query to make from test table to csv file named test.csv

\copy (SELECT * FROM test) to './test.csv' with csv

But in postgresql pgadmin4, it shows that \copy command as a syntax error (there is an underline under the word '\copy') and shows a message like below.

ERROR:  syntax error at or near "/"
LINE 2: /copy (SELECT * FROM test) to './persons_client.csv' with cs...
        ^
********** Error **********

ERROR: syntax error at or near "/"
SQL state: 42601
Character: 2

How can I solve this problem?

Erwin Brandstetter
  • 539,169
  • 125
  • 977
  • 1,137
윤성필
  • 75
  • 1
  • 1
  • 6

2 Answers2

9

\copy is a meta-command of the default command-line interface psql. You cannot run it from the SQL shell of pgAdmin4 (or any other client). Run it from psql instead.

psql's \copy is a client-side wrapper for the SQL-command COPY. If you are on the same machine as the Postgres server you might be able to use COPY instead.

Erwin Brandstetter
  • 539,169
  • 125
  • 977
  • 1,137
5

What I did to solve this problem was to execute:

psql=# copy tmp from '/path/to/file.csv' with delimiter ',' csv header encoding 'windows-1251';
abautista
  • 2,055
  • 4
  • 32
  • 58