【问题标题】:execute a postgresql query from a file and write the output to another csv file从文件执行 postgresql 查询并将输出写入另一个 csv 文件
【发布时间】:2019-08-13 12:15:50
【问题描述】:

我需要从文件执行查询并将其输出写入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 指定的文件分隔符。

【问题讨论】:

  • 你可以试试psql -t -A -F"," -f in_file.sql -o out_file.csv。不过,这并没有给你价值引用。

标签: postgresql postgresql-9.1


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多