Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >跨站数据

PostgreSQL数据库设置默认模式schema


大家经常会遇到这样一种情况,同一个postgresql数据库,创建了多个scheme模式,映射不同的项目,但是所有的项目默认只查询public模式,这是因为一个用户默认设置一个scheme模式,当出现这种情况时,我之前的做法是每个项目新建一个数据库,这样真的很low,所以经过研究后,总结出如下方法。

超级管理员登录(默认postgres)

# 只有超级管理员有权限进行权限设置
psql -U postgres

新建多个用户以及多个schema

#创建用户
CREATE USER username1;
CREATE USER username2;
CREATE USER username3;
#创建schema
create schema schema1;
create schema schema2;
create schema schema3;

给用户分别设置不同的schema

# 设置默认schema
ALTER USER username1 SET search_path to schema1; 
ALTER USER username2 SET search_path to schema2; 
ALTER USER username3 SET search_path to schema3; 

校验

# 分别登录username1、username2、username3,并分别执行以下命令
show search_path;
# 如果分别对应schema1、schema2、schema3则代表设置成功

总结

往往我们在项目中写sql时from表格是,都用用schema.table的形式,当我们设置了默认schema后,则直接from table则可

# 设置默认schema前
select * from schema.table;
# 设置默认schema后
select * from table;

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 四天搞懂生成对抗网络(三)——用CGAN做图像转换的鼻祖pix2pix

下一篇: 夺魁NeurIPS 2020电网调度大赛,百度PARL实现NeurIPS强化学习竞赛三连冠

精华推荐