将client_min_messages设置为特定的ROLE postgres

您好,我试图使用postgres用户将client_min_messages = error设置为某个角色,但是当我登录该角色时,我检查了current_setting('client_min_messages')并得到了默认值(通知)。香港专业教育学院已经尝试过重新启动配置,还做了一些测试。

总结一下,我做到了:

  1. 以postgres角色登录。
  2. 检查client_min_messages(通知)和log_min_messages(警告)的默认值。
  3. ALTER ROLE ANNE SET client_min_messages =错误;
  4. ALTER ROLE ANNE SET log_min_messages =恐慌;
  5. 选择pg_reload_conf();
  6. 注销postgres。
  7. 登录anne。
  8. 检查SELECT current_setting('client_min_messages'),并返回NOTICE(默认值)。
  9. 检查SELECT current_setting('log_min_messages'),并返回panic(非默认值)。
  10. 测试以下代码

    begin;
        do $$
            begin
                raise info ' client_min_messages: %',current_setting('client_min_messages'); -- i get "notice"
                raise debug ' time : %',NOW(); 
                raise notice ' time : %',NOW(); 
                raise warning ' time : %',NOW(); 
        end $$;

我的意思是,我每次与用户登录时都必须设置client_min_messages吗?因此,Alter Role / User SET client_min_messages没用吗?

我尝试将login_min_messages更改为特定角色,当我以该角色登录时,配置仍然可以(不是默认值)。

aiai0525 回答:将client_min_messages设置为特定的ROLE postgres

该方法应该起作用。它对我有用。

您是否在会话中设置了任何环境变量(例如PGOPTIONS)或通过set client_min_messages命令进行了显式调用?

本文链接:https://www.f2er.com/2426145.html

大家都在问