从命令行运行Postgres文件(实际上没有打印出代码)

时间:2016-04-21 14:24:11

标签: macos postgresql

我可以按照以下说明从命令行成功运行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中的代码都会打印到终端

1 个答案:

答案 0 :(得分:0)

您可能希望将STDOUTSTDERR或两者重定向到日志文件。

像其中一个

  • psql ... > out.log
  • psql ... 2> err.log
  • psql ... &> out_and_err.log