postgres中的用户与模式

pg中的用户与模式是分开的,不像是oracle中用户创建完后与模式是基本同一个东西。

pg中有个默认的模式叫public,是所有用户的默认的模式,如果没有与用户同名的模式存在,那么用户的对象将放置在public模式下面。pg中对象的搜索路径是:

show search_path

""$user",public"

默认是按当前用户名模式,然后在public模式。

所以是建议创建完用户后,在创建一个与用户名相同的模式,这样用户创建的对象就放在用户名相同的模式下面了。

查看当前模式

select current_schema;

修改角色的搜索路径

alter role finona set search_path='finance';

创建用户专享的schema

CREATE SCHEMA sharedschema AUTHORIZATION scarlett;

别的角色指定这个schema后,在创建对象的时候会报schema不存在,这个挺坑爹的

另外在修改搜索路径后,需要在新的会话中设置才能生效

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值