PostgreSQL 的schema access denied

有时候,使用者会遇到  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的访问权是一把开箱子的钥匙。

只有开箱钥匙,没有大门钥匙,是无法看到箱子里有什么的。必须先打开大门,才能进到室内开启箱子。

相关推荐