我可以按照以下说明从命令行成功运行SQL(Postgres)文件:
Run a PostgreSQL .sql file using command line arguments
特别是,我使用类似
的东西psql -d DBPASSWORD -a -f FILENAME
问题是这个(具体而言,我相信-a
)将sql代码输出到终端。这很烦人,因为我在使用subprocess
的Python脚本中按顺序运行了很多文件,我宁愿不在终端中打印出SQL代码。有没有办法不将SQL代码打印到终端?
编辑:我尝试添加-q
选项,就像人们说的那样,但SQL文件中的代码仍在打印到终端。
我试过的是
psql -q -d DBPASSWORD -a -f FILENAME
psql -d DBPASSWORD -q -a -f FILENAME
psql -d DBPASSWORD -a -q -f FILENAME
psql -d DBPASSWORD -a -f FILENAME -q
在每种情况下,FILENAME
中的代码都会打印到终端
答案 0 :(得分:0)
您可能希望将STDOUT
,STDERR
或两者重定向到日志文件。
像其中一个
psql ... > out.log
psql ... 2> err.log
psql ... &> out_and_err.log