更改用户的默认架构 [英] Change default schema for user
问题描述
create schema bla;
-- then create table table_name into this schema
然后我要更改用户的默认架构(用户为 postgres
)
Then I want change default schema for user (user is postgres
)
我这样做: ALTER ROLE postgres SET search_path TO bla;
(查询成功返回,没有结果)。
I do: ALTER ROLE postgres SET search_path TO bla;
(Query returned successfully with no result).
当我尝试 SELECT * FROM table_name
给出错误关系表名不存在
尽管 SELECT * FROM bla.table_name
可以正常工作。
尝试更改用户的默认架构有什么问题?
What is wrong in my attempt to change default schema for user?
推荐答案
我认为您需要为此重新登录。使用 ALTER USER ... SET
您更改
I think you need to relogin for that. With ALTER USER ... SET
you change
运行时配置变量的会话默认值
Session defaults for run-time configuration variables
也来自 ALTER ROLE SET
手册:
角色专用变量设置生效仅在登录时;
Role-specific variable settings take effect only at login;
但不要将更改应用于当前会话。如果要立即更改,请使用:
But don't apply changes to current session. If you want immediate change use:
SET search_path TO bla;
它将更改会话级别的路径
It will change path on session level
这篇关于更改用户的默认架构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!