从Postgresql导出为CSV

时间:2018-08-27 21:14:18

标签: postgresql csv export

我想将一个postgresql表导出到一个csv文件。 我尝试了两种方法,但是由于不同的原因,两种方法都不成功。

在第一种情况下,您可以看到我的跑步情况和得到的吼叫:

COPY demand.das_april18_pathprocess TO '/home/katerina/das_april18_pathprocess.csv' DELIMITER ',' CSV HEADER;


No such file or directory
SQL state: 58P01

我需要提到的是,在/home/katerina/位置中,我创建了一个名为das_april18_pathprocess.csv的空文件,为此我修改了权限设置以允许进行读取和写入。

第二次尝试执行查询时没有出现任何错误,但是我看不到csv文件。我运行的命令如下:

COPY demand.das_april18_pathprocess TO '/tmp/das_april18_pathprocess.csv' DELIMITER ',' CSV HEADER;

在/ tmp目录中没有cvs文件。

任何有关如何以任何方式将表导出到csv文件的建议都非常感谢!

2 个答案:

答案 0 :(得分:1)

啊,您遇到一个常见问题-您正在服务器的文件系统上而不是本地文件系统上创建文件。可能会很痛苦。

但是,您可以COPY TO STDOUT,然后重定向结果。

如果您使用的是Linux或其他Unix,最简单的方法是从命令行:

$ psql <connection options> -c "COPY demand.das_april18_pathprocess TO STDOUT (FORMAT CSV)" > das_april18_pathprocess.csv

答案 1 :(得分:0)

copy  ( select * from demand.das_april18_pathprocess)  to '/home/katerina/das_april18_pathprocess.csv' with CSV header ;