PostgreSQL은 role이라는 개념을 사용하여 데이터베이스 액세스 권한을 관리한다. role은 데이터베이스가 설정된 방법에 따라 데이터베이스 사용자 또는 데이터베이스 사용자 그룹으로 생각할 수 있다. role은 데이터베이스 개체(예: 테이블 또는 함수)를 소유할 수 있으며 해당 개체에 대한 권한을 다른 role에 할당하여 해당 개체에 액세스할 수 있는 사용자를 제어할 수 있다. 또한, role의 멤버십을 다른 role에 부여할 수 있으므로 멤버 role이 다른 role에 할당된 권한을 사용하도록 할 수 있다.
role의 개념은 “사용자” 및 “그룹”의 개념을 포함한다. PostgreSQL 8.1 이전 버전에서 사용자와 그룹은 별개의 엔티티였지만 이제는 role만 있다. 모든 role은 사용자, 그룹 또는 양쪽 모두로 작용할 수 있다.
이 장에서는 role을 생성 및 관리하는 방법을 설명한다. 다양한 데이터베이스 개체에 대한 role 권한의 효과에 대한 내용은 5.7절을 참조할 수 있다.