如何在psql的输出中隐藏列名和行计数?
psql --user=myuser -d mydb --output=result.txt -c "SELECT * FROM mytable;"
我期望输出像:
1,abc 2,def 3,xyz
但我得到:
id,text ------- 1,xyz (3 rows)
当然,这不是不可能过滤上面的两行和底行出事后,事实,但它有一个方法来做它只用psql?阅读它的联机帮助页,我看到控制字段分隔符的选项,但没有隐藏外部输出。
您可以使用-t或–tuples-only选项:
psql --user=myuser -d mydb --output=result.txt -t -c "SELECT * FROM mytable;"
编辑(一年多以后)添加:
你也可能想查看the COPY
command.我不再有任何Postgresql实例方便测试,但我想你可以写这样的东西:
psql --user=myuser -d mydb -c "COPY mytable TO 'result.txt' DELIMITER ','"
(除了result.txt将需要是绝对路径)。 COPY命令还支持更智能的CSV格式;见its documentation。