禁用psql输出中的NOTICES

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

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

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

SET client_min_messages TO WARNING; 

这可以只为会话设置或使用ALTER ROLEALTER DATABASE持久化。

或者你可以把它放在你的“.psqlrc”中 。

也许最全面的解释是在这里彼得Eisentrauts 博客条目

我强烈鼓励原始博客进行研究和消化,但最终的build议是这样的:

 PGOPTIONS='--client-min-messages=warning' psql -X -q -a -1 -v ON_ERROR_STOP=1 --pset pager=off -d mydb -f script.sql 

当你启动psql时使用--quiet

通知不是无用的,但这是我的观点。

它可以在全局postgresql.conf文件中设置,也可以修改client_min_messages参数。

例:

 client_min_messages = warning