将Postgres \ i输出的输出放到文件中?

时间:2010-10-15 03:37:31

标签: sql postgresql

快速提问(我希望!):如果我使用\ i将输入文件输入psql,我可以将查询的输出保存到文件中吗?如果是这样,怎么样?谢谢!

3 个答案:

答案 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

输出将流式传输到文件。