psql 工具提供了一个方便的命令 \o 能够把 SQL 执行的输出信息重定向到文件中。
使用示例:
postgres=# \o /tmp/1.txt
postgres=# select * from t;
postgres=# \o
\o /tmp/1.txt 这一行命令表示后续的 SQL 执行输出结果都会重定向到 /tmp/1.txt 文件中。 文件存储在客户端,而不是数据库服务器。
\o 不加文件名,表示恢复到默认的标准输出。
实际上 \o 命令的功能与下面的命令执行结果一致,都是把 SQL 执行的输出信息重定向到文件。
psql -h 127.0.0.1 -U admin postgres -c "select * from t" > /tmp/1.txt