您好,我试图使用postgres用户将client_min_messages = error设置为某个角色,但是当我登录该角色时,我检查了current_setting('client_min_messages')并得到了默认值(通知)。香港专业教育学院已经尝试过重新启动配置,还做了一些测试。
总结一下,我做到了:
- 以postgres角色登录。
- 检查client_min_messages(通知)和log_min_messages(警告)的默认值。
- ALTER ROLE ANNE SET client_min_messages =错误;
- ALTER ROLE ANNE SET log_min_messages =恐慌;
- 选择pg_reload_conf();
- 注销postgres。
- 登录anne。
- 检查SELECT current_setting('client_min_messages'),并返回NOTICE(默认值)。
- 检查SELECT current_setting('log_min_messages'),并返回panic(非默认值)。
- 测试以下代码
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更改为特定角色,当我以该角色登录时,配置仍然可以(不是默认值)。