禁用psql输出中的NOTICES

xen*_*ide 56 database postgresql verbosity

如何阻止psql(PostgreSQL客户端)输出通知?例如

psql:schema/auth.sql:20:注意:CREATE TABLE/PRIMARY KEY将为表"users"创建隐式索引"users_pkey"

在我看来,程序应该保持沉默,除非它有错误,或输出东西的其他原因.

Mil*_*dev 61

SET client_min_messages TO WARNING;
Run Code Online (Sandbox Code Playgroud)

可以仅为会话设置或使用ALTER ROLE或保持持久性ALTER DATABASE.

或者你可以把它放在你的".psqlrc"中.

  • 这也可以在postgresql.conf中更改 (3认同)

Gav*_*vin 49

可能最全面的解释是Peter Eisentrauts 博客文章

我强烈建议对原始博客进行研究和消化,但最终建议如下:

PGOPTIONS='--client-min-messages=warning' psql -X -q -a -1 -v ON_ERROR_STOP=1 --pset pager=off -d mydb -f script.sql
Run Code Online (Sandbox Code Playgroud)

  • 通常不赞成只用一个链接回答,但我同意这是一个非常翔实的博客文章.请考虑提取一些关键点并在答案中总结它们以及链接. (2认同)

Fra*_*ens 20

--quiet启动psql时使用.

通知并非无用,但这是我的观点.

  • 有趣......关闭了所有的东西,比如`CREATE TABLE`但不是'NOTICE'.我不确定我是否认为它们都没用......但我确实有点信仰(而且我我认为我必须阅读其中一本必读C或Unix书籍的程序,除非他们有问题或你告诉他们没有问题,否则程序应该是安静的.所以--quiet应该是默认值,并且应该有--verbose(可能具有可自定义的级别) (2认同)