将psql输出保存到csv文件

时间:2015-05-26 04:57:51

标签: sql postgresql csv psql postgresql-copy

我有一个写在/ path / to / query文件中的查询。如何在不在查询中使用COPY的情况下将输出结果保存到csv文件?我尝试了以下命令,但输出文件的字段用“|”分隔。

psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ','

1 个答案:

答案 0 :(得分:4)

文档中没有解释,但-F选项需要-A选项(未对齐表输出)才能工作:

psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ',' -A

如果你不希望你的csv中的标题,这意味着,在顶部和底部没有额外的行,也使用-t选项。

psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ',' -A -t

来自帮助:

  

-A, - no-align未对齐表格输出模式
  -F, - field-separator = STRING                              设置字段分隔符(默认值:“|”)
  -t, - 仅限 - 仅打印行