从文件执行 postgresql 查询并将输出写入另一个 csv 文件

execute a postgresql query from a file and write the output to another csv file

我需要从文件执行查询并将其输出写入 CSV 文件。我想将分隔符保留为 ;。我试过以下查询。

psql -h localhost -p 5432 -U postgres -d postgres -f \path\to\sqlQuery.sql -o \path\to\result\result.csv  

此查询将结果放入文件中,但它采用 postgres 结果表格格式。

psql -h localhost -p 5432 -U postgres -d postgres -f copy(\path\to\sqlQuery.sql) to \path\to\result.csv csv header;  

上面的查询给我一个语法错误。

我正在寻找一种将 COPY command\f-f 一起使用的方法,这样我就可以从文件中执行查询并写入输出到另一个具有指定分隔符的 CSV 文件。

将您的 SQL 脚本更改为使用 COPY:

COPY (/* your query */) TO STDOUT
   (FORMAT 'csv', DELIMITER ';');