【发布时间】:2020-01-13 22:21:54
【问题描述】:
我正在使用超级用户(管理员)创建一个表,并尝试GRANT ALL 并更改表的所有者。
我在 Redshift 中运行以下语句,其中(非超级用户)john 是 developers 组的成员(并且只是 developers 组的成员):
GRANT ALL ON users.addresses TO GROUP developers;
ALTER TABLE users.addresses OWNER TO john;
我已确认用户john 对users.addresses 具有选择/插入/删除/更新权限,并且是该表的所有者。我还确认用户 john 在 users 架构上有 USAGE。
但是,当我以john 登录时,表格根本不会出现。当我尝试SELECT * FROM users.addresses 时,Redshift 说该表不存在。
我在这里缺少什么? Redshift 中是否有我没有看到的额外权限或安全层?我浏览了文档,但到目前为止还没有多少运气。
【问题讨论】:
-
用户 john 的 pg_user 是什么样的?
-
可能是因为您正在授予对表 users.addresses 的访问权限,但查询使用表 users.permissions ?
-
我的错误@EdgarsT。 - 修正了 SELECT 查询是正确的。
标签: sql permissions amazon-redshift grant