4

我想使用该\copy命令制作具有相对路径的 csv 文件。我使用查询从测试表生成名为 test.csv 的 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

我怎么解决这个问题?

4

2 回答 2

9

\copy是默认命令行界面psql的元命令。您不能从 pgAdmin4(或任何其他客户端)的 SQL shell 运行它。而是从 psql 运行它。

psql\copy是 SQL-command 的客户端包装器COPY。如果你和 Postgres 服务器在同一台机器上,你也许可以使用它COPY

于 2016-12-17T06:49:31.117 回答
5

我为解决这个问题所做的是执行:

psql=# copy tmp from '/path/to/file.csv' with delimiter ',' csv header encoding 'windows-1251';
于 2018-02-05T00:33:37.577 回答