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

Jos*_*eph 3 sql postgresql

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

Mat*_*nit 6

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

psql < input.sql > output.txt
Run Code Online (Sandbox Code Playgroud)

这有一些有趣的副作用.例如,如果你有定时接通(\timing on),然后使用\o不会导致计时结果被管道输送到输出文件,但重新方向会.用同样的事情\echo的陈述.


OMG*_*ies 5

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


Tim*_*Tim 5

当然可以:

dbname=> \o /home/outputfile.csv
dbname=> select * from table;
dbname=> \q
Run Code Online (Sandbox Code Playgroud)

输出将流式传输到文件.