Postgresql版本9.0
我需要一个关于postgresql用户分组的想法。
我在数据库中有150多个表,我想要解决一群人。其中一些可以到达所有表,其中一些不是。 我知道可以使用grant或创建角色来实现它。但我想弄清楚哪种方法最好。它将如何影响性能?
让所有用户访问某些表并管理它们对我来说似乎很难。所以我想到了如何创建不同的表空间并通过表空间设置权限。
有没有用于创建用户组的好的教程,文章或方法?你的建议是什么?
答案 0 :(得分:4)
如果按表空间设置权限,并且需求发生更改,以便会计人员需要访问另一个表,则必须将表从一个表空间移动到另一个表空间。但是,你再次无法将该表移动到不同的表空间而不会搞砸所有其他用户的权限。
不要那样做。
而是为用户创建逻辑组,将用户分配到组以及为组分配权限。 The PostgreSQL term is "roles"
将用户组合在一起以简化管理通常很方便 特权:这样,可以授予或撤销特权 来自一个整体的团体。在PostgreSQL中,这是通过创建一个 代表该组的角色,然后授予该成员资格 组角色到个人用户角色。