role
似乎是一个团体。使用MySQL,我有两个用户,基本上是公共用户(DELETE
,INSERT
,SELECT
和UPDATE
权限)和一个具有几个附加权限的管理员用户。所以基本上在Windows 7命令提示符下(仅限本地开发) ...
角色是用户,组还是一个特定于PostgreSQL的宽松术语?
如何为所有表仅授予特定用户特定的权限?在数据库中?
如何为数据库中的所有表授予特定用户所有权限?
如果为用户使用
GRANT
或REVOKE
,如何将角色与用户进行比较(如果有的话)权限?#1 楼
角色是可以充当用户和/或组的实体。角色WITH LOGIN
可以用作用户,即,您可以使用它登录。任何角色都可以作为一个组,包括您也可以作为其登录的角色。因此,“用户”和“组”本质上是指示角色预期用途的术语,它们之间没有真正的区别。即使在SQL的PostgreSQL风格中,两者或多或少都用作同义词。例如,关于CREATE USER
的文档说:CREATE USER现在是CREATE ROLE的别名。
授予所有权限...请参阅
GRANT
的手册。您实际上可能是想授予ALL TABLES IN SCHEMA public
权限,而不是授予数据库中的所有表权限。同样,请参见手册。角色是用户和/或组。您只能授予角色,因为角色就是全部。
评论
很好的解释!
– sharadov
18年1月29日在23:03
那么……在模式公共中授予所有表所有权限的语法是什么?
– AlxVallejo
18 Mar 12 '18 at 14:30
@AlxVallejo这应该有所帮助。请尝试顶部链接,或阅读GRANT文档页面,其中列出了SCHEMA中的所有表
–克雷格·林格(Craig Ringer)
18 Mar 16 '18 at 13:29