微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL角色与用户,授予权限

我正在学习PostgresqlMySQL间的差异,因为我有一个新项目,我还打算将我现有的软件从MysqL迁移到Postgresql.我实际上已经开始创建一个HTML表,其中包含两者之间的命令(用于用户/数据库/命令提示符等)的比较.在 reading an answer之后,我注意到这个角色似乎被用作一个群体.使用MysqL,我有两个用户,基本上是公共的(DELETE,INSERT,SELECT和UPDATE权限)和具有一些额外权限的管理员用户.

所以基本上在Windows 7命令提示符下(仅限本地开发)…

>角色是特定于Postgresql用户,组或松散使用的术语吗?
>如何为数据库中的所有表仅授予特定用户特定权限?
>如何为数据库中的所有表授予特定用户的所有权限?
>在使用GRANT或REVOKE获取用户权限时,如何将角色与用户进行比较?

角色是可以充当用户和/或组的实体. WITH LOGIN角色可以用作用户,即您可以使用它登录.任何角色都可以作为一个组运行,包括您也可以登录的角色.因此,“用户”和“组”本质上是表示角色的预期用途的术语,它们之间没有真正的区别.即使在sql的Postgresql风格中,两者也或多或少地用作同义词.例如,CREATE USER上的文档说:

CREATE USER is Now an alias for CREATE ROLE.

授予所有… see the manual for GRANT.您可能实际上想要授予SCHEMA公共中所有表的权限,而不是数据库中的所有表.

授予一些权利……同样的事情,但不是GRANT ALL使用GRANT SELECT,INSERT例如.再次,请参阅手册.

角色是用户和/或组.您只能授予角色,因为角色就是所有角色.

原文地址:https://www.jb51.cc/postgresql/192323.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐