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