将psql输出保存到csv文件

将psql输出保存到csv文件,sql,postgresql,csv,psql,postgresql-copy,Sql,Postgresql,Csv,Psql,Postgresql Copy,我在位于/path/to/query的文件中编写了一个查询。如何将输出结果保存到csv文件,而不在查询中使用COPY?我尝试了以下命令,但输出文件的字段之间用“|”分隔 文档中未对此进行说明,但-F选项需要-A选项(未对齐的表格输出)才能工作: 如果您不希望在csv中显示标题,这意味着在顶部和底部没有额外行的情况下,也可以使用-t选项 psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ',' -A -t

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


文档中未对此进行说明,但
-F
选项需要
-A
选项(未对齐的表格输出)才能工作:

如果您不希望在csv中显示标题,这意味着在顶部和底部没有额外行的情况下,也可以使用
-t
选项

psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ',' -A -t
从帮助中:

-A、 --无对齐未对齐表输出模式
-F、 --字段分隔符=字符串 设置字段分隔符(默认值:“|”)
-t、 --仅元组仅打印行


它起作用了。这有点吹毛求疵,但如何去掉两行额外的内容:“在顶部选择”并在底部选择“(行)”?如果您只想要元组,在底部和顶部不需要其他行,请使用选项-t:
psql-U username-d dbname-f/path/to/query-o/path/to/output/file-f','-a-t
。我试过了。我仍然看到“SELECTThis来自查询。在您的问题中发布带有sql代码的文件内容。
psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ',' -A
psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ',' -A -t