日期:2014-05-16  浏览次数:20862 次

PostgreSQL如何指定默认的Schema---100分在线等~!小问题!~
小弟新接触PostgreSQL,以下是这个小问题。。

RT,
1.建立了一个role -- role1
2.建立了一个databse -- database1(owner为role1)
3.在database1下面建立了一个schema(AUTHORIZATION为role1)
4.psql登录role1

可是,为什么,登录之后创建table还是需要制定schema,设定AUTHORIZATION没用吗?

每次都在前面加上schema.很烦哎!
到底要怎么搞登录之后就是绑定默认schema的?
(PS:windows 下)

------解决方案--------------------
data目录下的postgresql.conf
里面有参数 search_path
or
针对每用户,这样:
 ALERT ROLE name SET search_path TO schema [, schema, ...]


示例
把用户jianingy的默认search_path设置为schema和public 
ALTER USER jianingy SET search_path to schema, public
------解决方案--------------------
1、修改data目录下的postgresql.conf
里面有参数 search_path
2、ROLE角色,比如USER
3、
------解决方案--------------------
3、你的模式,public模式
2个模式
------解决方案--------------------
1、要重启
2、角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限

查看角色表中的信息:
SELECT * FROM pg_roles;

3、将你的模式设置为 你的模式,public模式 2个模式

建议看看POSTGRSQL的HELP