【发布时间】:2016-04-25 02:17:50
【问题描述】:
我可以按照此处的说明从命令行成功运行 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 中的代码都会打印到终端
【问题讨论】:
-
你运行的是什么操作系统?如果是某种 UNIX,您可以将输出重定向到 /dev/null,例如 'psql -d foo > /dev/null'。
-
--quiet或-q应该这样做:postgresql.org/docs/9.3/static/app-psql.html -
也许是 -q / -quiet 选项?
-
@Vincent 这将属于这一类。 :-) 但也许像其他人建议的那样 -q 更好。
-
似乎不起作用?我试过
psql -q -d DBPASSWORD -a -f FILENAMEpsql -d DBPASSWORD -q -a -f FILENAMEpsql -d DBPASSWORD -a -q -f FILENAMEpsql -d DBPASSWORD -a -f FILENAME -q无济于事。
标签: macos postgresql