使普通用户可以在 PostgreSQL 上创建模式需要什么?

Eon*_*nil 12 postgresql schema

我创建了一个新数据库test并使用以下命令创建了用户“eonil”:

CREATE ROLE eonil LOGIN ENCRYPTED PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity';
Run Code Online (Sandbox Code Playgroud)

在我的 PostgreSQL 上。我跑psql -U eonil test。当我尝试创建新模式时,它显示错误。

test=> CREATE SCHEMA new_schema AUTHORIZATION eonil;
ERROR:  permission denied for database test
test=> 
Run Code Online (Sandbox Code Playgroud)

为什么这会出错?需要什么?

Mag*_*der 17

授予用户CREATE对数据库的权限,例如

GRANT CREATE ON DATABASE test TO eonil
Run Code Online (Sandbox Code Playgroud)

CREATE特权,当应用到现有的数据库,使用户能够在数据库中创建一个新的模式。您可以GRANT此处获得哪些其他访问权限的官方文档。