如果我给用户 table 权限,我还需要给他们一个数据库角色吗

If I give a user table privileges do i need to give them a database role as well

我有一个数据库,想分配角色和权限。

我的目标是允许多个用户 - 都具有相同的权限 - 能够创建、编辑和查看 table(仅此而已)。

我知道有用户 table 权限允许用户在 table 中访问 Create, alter, drop and delete 项目。但我也明白有一个 resource user 允许用户执行相同操作的预定义角色。

我会提供这两个角色吗? table 级权限和预定义角色?如果我同时提供两者会怎样?可以吗?

这更像是一个数据库管理问题,因为您有开发自己表的用户。你的问题的核心,"one size fits all prepacked" 角色 RESOURCE 或更好的为你的用户组定制的解决方案实际上是一种管理风格、品味和你的特殊情况。

就我个人而言,我不喜欢 RESOURCE 这个角色,因为它缺少权限 CREATE VIEW

请注意,权限 CREATE TABLE(直接授予或通过角色授予)允许用户在 his/her 自己的模式中创建表。要在其他模式(或 "all the tables on the database")中创建表,您需要权限 CREATE ANY TABLE。有关详细信息,请参阅 documentation