关于sql:将Postgres i输出的输出放到文件中?

Putting output from Postgres i input to a file?

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


按照其他人的建议使用\o是一个很好的解决方案。 但是,为了好玩,另一种方法是将输入文件从命令行传输到psql,而不是使用\i命令。 然后,您可以将输出重定向到另一个文件。 例如:

1
psql < INPUT.sql > output.txt

这有一些有趣的副作用。 例如,如果打开了定时(\timing on),则使用\o不会导致定时结果通过管道输出到输出文件,但重定向会发生。 与\echo语句相同。


当然可以:

1
2
3
dbname=> \o /home/outputfile.csv
dbname=> SELECT * FROM TABLE;
dbname=> \q

输出将流式传输到文件。


根据文档,\o用于将输出定向到文件。