psql:以批处理模式运行命令

Ada*_*tan 4 psql postgresql-9.3

考虑一个.sql包含一些选择和更新的文件。我想使用该psql实用程序从脚本运行此文件:

psql -h whatever.rds.amazonaws.com -U user dbname -f commands.sql
Run Code Online (Sandbox Code Playgroud)

问题是我得到了一个带有查询结果的交互式屏幕和一个(0 rows)(END),需要按下esc才能返回正常外壳。

我曾尝试使用--echo-all和/或--single-transaction遵循psql 手册,但没有成功。

如何sql在非交互模式下运行我的文件,只显示结果并退出脚本?

Cra*_*ger 6

对于批处理操作,我通常使用:

psql -v ON_ERROR_STOP=1 -P pager=off --single-transaction
Run Code Online (Sandbox Code Playgroud)

...但是,通常psql应该检测到 stdout 不是终端并pager在您重定向其 stdout 时自动关闭。