Как использовать \copy в postgresql с pgadmin4

Я хочу использовать команду \copy для создания CSV-файла с относительным путем. Я использовал запрос для создания из тестовой таблицы CSV-файла с именем test.csv.

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

Но в postgresql pgadmin4 эта команда \copy отображается как синтаксическая ошибка (под словом '\copy' есть подчеркивание) и отображается сообщение, как показано ниже.

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

Как я могу решить эту проблему?


person 윤성필    schedule 17.12.2016    source источник


Ответы (2)


\copy — это мета- команда интерфейса командной строки по умолчанию psql. Вы не можете запустить его из оболочки SQL pgAdmin4 (или любого другого клиента). Вместо этого запустите его из psql.

\copy в psql — это клиентская оболочка для SQL-команды COPY. Если вы находитесь на той же машине, что и сервер Postgres, вы можете вместо этого использовать COPY.

person Erwin Brandstetter    schedule 17.12.2016

Что я сделал для решения этой проблемы, так это выполнить:

psql=# copy tmp from '/path/to/file.csv' with delimiter ',' csv header encoding 'windows-1251';
person abautista    schedule 05.02.2018