从文件执行 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 ';');
我需要从文件执行查询并将其输出写入 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 ';');