有时候,使用者会遇到 access to schema … denied 之类的出错信息。
Postgresql 里面,对数据访问的权限,至少分为两个层次。
一个是 schema, 一个是 table。
所以,对一个普通用户test而言,如果由超级用户给他权限:
Grant all on schema01. Table01 to public;
而此时再以普通用户test 来登陆,
Test=> select count(*) from schema01.Tabl01;
会失败,给出的信息是 对schema 的权限不足。
由超级用户执行如下的操作后可以访问:
Postgres# Grant all on schema01 to public;
可以打个比方,schema是一扇大门,对table的访问权是一把开箱子的钥匙。
只有开箱钥匙,没有大门钥匙,是无法看到箱子里有什么的。必须先打开大门,才能进到室内开启箱子。
本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/07/06/2579001.html,如需转载请自行联系原作者