如何防止PostgreSQL存储过程的日志输出?

我正在运行一些用于产生过多的日志输出的PostgreSQL脚本。 我设法通过传递--quiet作为参数到psql命令行客户端并添加SET client_min_messages='warning';来减less大部分的输出到可接受的数量SET client_min_messages='warning'; 到我的SQL脚本的开始。

这对于SELECT,INSERT,UPDATE等大多数基本语句都是正确的。)但是,当我使用SELECT my_func(my_args);在脚本中调用存储函数时SELECT my_func(my_args); ,仍然有类似的日志输出

my_func

(在这里省略了很多“ – ”,因为SF认为这是一个标题)

(1 row)

输出是无用的; 这只会让我不得不在脚本运行之后长时间回滚,并且使得发现任何相关的错误输出变得困难得多。

我怎样才能摆脱它?

既然你似乎正在从psql运行脚本,你可以这样做

 copy ( select my_func(my_args) ) to stdout; 

甚至

 \copy ( select my_func(my_args) ) to /dev/null 

您可以在psql命令行中指定“-A -t”来全局地将所有查询语句的输出静音为一行。

 \o /dev/null SELECT my_func(my_args); 

要么

 SELECT my_func(my_args) \g /dev/null