快速提问(我希望!):如果我使用\ i将输入文件输入psql,我可以将查询的输出保存到文件中吗?如果是这样,怎么样?谢谢!
答案 0 :(得分:6)
按照其他人的建议使用\o
是一个很好的解决方案。但是,只是为了好玩,另一种方法是将输入文件从命令行传输到psql
,而不是使用\i
命令。然后,您可以将输出重定向到另一个文件。例如:
psql < input.sql > output.txt
这有一些有趣的副作用。例如,如果您打开了计时(\timing on
),那么使用\o
不会导致计时结果通过管道输出到输出文件,但重新指示。与\echo
陈述相同。
答案 1 :(得分:5)
Based on the documentation,\o
用于将输出定向到文件。
答案 2 :(得分:5)
当然可以:
dbname=> \o /home/outputfile.csv
dbname=> select * from table;
dbname=> \q
输出将流式传输到文件。