我有一个写在/ path / to / query文件中的查询。如何在不在查询中使用COPY的情况下将输出结果保存到csv文件?我尝试了以下命令,但输出文件的字段用“|”分隔。
psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ','
答案 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, - 仅限 - 仅打印行