禁用“删除表(如果存在)”的警告

tin*_*lyx 6 postgresql

当我DROP使用该IF EXISTS子句的表(在 PostgreSQL 11.x 中)时,它会发出如下警告:

=> DROP TABLE IF EXISTS tt;

NOTICE:  table "tt" does not exist, skipping
Run Code Online (Sandbox Code Playgroud)

有时,我确实希望某些表不存在,并且不希望在批处理函数/脚本的输出中看到许多类似的警告。

有没有办法完全禁用这种类型的警告?

小智 15

“警告”实际上是“通知”。client_min_messages 您可以通过控制返回给客户端的消息的最低级别的属性来禁用这些通知的显示。

要仅显示警告,而不显示通知,请使用:

set client_min_messages = warning;
Run Code Online (Sandbox Code Playgroud)

请注意,这将禁用所有raise notice通知,包括从 PL/pgSQL 函数等发送的通知。