我在我的DB中创建了一个新的模式dev
,并在其中创建了一组从live
模式中提取的视图。因此,视图是live
表的view
。
我已授予自己以下权限:
GRANT SELECT ON ALL TABLES IN SCHEMA dev TO bob;
我检查了我的访问权限:
SELECT table_catalog, table_schema, table_name, privilege_type
FROM information_schema.table_privileges
WHERE grantee = 'bob'
它显示我有选择访问模式中所有视图的权限
用户没有live
模式的访问权限
当我登录并尝试访问dev
中的任何视图时,我得到一个权限错误?
ERROR: permission denied for schema dev
LINE 1: SELECT * FROM dev.test
SQL state: 42501
Character: 15
它似乎指向dev
前缀,但如果我删除它,即使默认模式指向dev
,我也会得到一个关系错误。我试过删除用户并添加他回来,但我得到同样的问题。我也在Windows和Ubuntu上尝试过同样的错误。
你还需要给USAGE ON schema
GRANT USAGE ON SCHEMA dev TO bob;