createrole_self_grant
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 16 | an empty string | user | string |
| 17 | an empty string | user | string |
| 18 | an empty string | user | string |
| 19 | an empty string | user | string |
CREATEROLE 권한은 있지만 superuser가 아닌 사용자가 새 role을 만들 때, 만들어진 role을 생성자 자신에게 자동으로 grant할지와 그 옵션을 정한다. 기본값은 빈 문자열로, 기능이 꺼져 있다.
값은 set, inherit, 또는 이 둘을 쉼표로 이은 목록이어야 한다. inherit을 지정하면 생성자가 새 role의 권한을 자동으로 물려받고, set을 지정하면 새 role로 SET ROLE을 실행할 수 있게 된다. superuser는 모든 role의 권한을 자동으로 물려받고 언제든 어떤 role로도 전환할 수 있는데, 이 설정은 CREATEROLE 사용자가 자신이 만든 role에 대해 그와 비슷하게 동작하도록 만들어 준다.
사실 CREATEROLE 사용자는 자신이 만든 role에 대해 항상 ADMIN OPTION을 암묵적으로 갖기 때문에 같은 효과의 GRANT를 직접 실행할 수도 있다. 이 파라미터는 그 grant가 자동으로 일어나게 해 주는 편의 기능이다.
출처: PostgreSQL 18 문서