在postgresql 9.3.1中,使用psql命令交互式开发查询时,有时最终结果是将查询结果写入文件:
boron.production=> \o /tmp/output
boron.production=> select 1;
boron.production=> \o
boron.production=> \q
$ cat /tmp/output
?column?
----------
1
(1 row)
这个工作正常。但是我如何将查询本身与查询结果一起写入文件?
我尝试使用--echo-queries
开关来运行psql:
-e, --echo-queries
Copy all SQL commands sent to the server to standard output as well.
This is equivalent to setting the variable ECHO to queries.
但是这总是回显到标准输出,而不是我用 \o 命令给出的文件。
我也尝试了 --echo-all 开关,但似乎没有回显交互式输入。
使用命令编辑,我可以在查询前面加上 \qecho 来重复查询。那样可以,但很繁琐。
有没有办法将交互式 psql 会话定向到一个文件中,同时写入查询和查询输出?
\o
命令将查询 结果 输出到输出文件中... 我不知道如何实现。您可以使用\qecho
将文本放入输出中... 或者您可以批处理运行 SQL - 使用重定向。然后 -e 将起作用。 - Kamil Šrot