Postgres在授予角色权限后无法创建数据库

wad*_*rld 3 postgresql grant

我确定我错过了一些简单的东西,但我创造了以下内容:

postgres=# \du
                          List of roles
 Role name |               Attributes                | Member of
-----------+-----------------------------------------+-----------
 admin     | No inheritance, Create DB, Cannot login | {}
 postgres  | Superuser, Create role, Create DB       | {}
 wade      |                                         | {admin}
Run Code Online (Sandbox Code Playgroud)

(请注意,Cannot login并且No inheritance不会影响正在发生的事情wade.请参阅PostgreSQL文档了解角色成员资格以了解原因.-bignose)

但是,当我尝试创建数据库时,我得到:

bin wwilliam$ createdb -U wade test
Password:
createdb: database creation failed: ERROR:  permission denied to create database
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Mil*_*dev 7

手册摘录:

INHERIT属性控制可授予特权的继承(即,数据库对象和角色成员资格的访问权限).它不适用于CREATE ROLE和ALTER ROLE设置的特殊角色属性.例如,即使设置了INHERIT,作为具有CREATEDB权限的角色的成员也不会立即授予创建数据库的能力 ; 在创建数据库之前,有必要通过SET ROLE成为该角色.

(强调我的).