How can db owner grant select permission on other users table in postgres?
所有。
我对 postgresql 有以下问题。
我有一个数据库"dwh",其架构为"sa"。
我有一个用户"dwa",他是数据库"dwh"的所有者。
1 2 3 | SELECT pg_get_userbyid(datdba) dbowner FROM pg_database WHERE datname='dwh'; -- dwa |
另一个用户 "user1" 在模式 "sa" 中创建了表 "table1"。
现在,当我尝试(作为"dwa")授予从 table1 中选择的权限时,我收到一个错误:
1 | GRANT SELECT ON sa.table1 TO dwa; |
[42501] ERROR: permission denied for table table1
用户 "dwa" (db owner) 是否可以授予从 table1 中选择的权限以及如何做到这一点?
要获得对象的
-
你是超级用户
-
您拥有该对象(或者是拥有该对象的角色的成员)
-
您已被授予特权
WITH GRANT OPTION
数据库的所有权不会赋予您对数据库内对象的任何权限!
您可以尝试以模式
1 2 | GRANT usage ON schema sa TO dwa; GRANT ALL privileges ON ALL TABLES IN schema sa TO dwa WITH GRANT OPTION; |
但是授予自己特权是不寻常的。