PostgreSQL使用角色的概念管理数据库访问权限。 根据角色自身的设置不同,一个角色可以看做是一个数据库用户,或者一组数据库用户。 角色可以拥有数据库对象(比如表)以及可以把这些对象上的权限赋予其它角色, 以控制谁拥有访问哪些对象的权限。另外,我们也可以把一个角色的成员 权限赋予其它角色,这样就允许成员角色使用分配给另一个角色的权限。
角色的概念替换了"用户"和"组"。在PostgreSQL 版本 8.1 之前,用户和组是独立类型的记录,但现在它们只是角色。 任何角色都可以是一个用户、一个组、或者两者。
本章描述如何创建和管理角色。更多各种数据库对象角色权限效果的信息可以在Section 5.6找到。