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

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

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

CREATE ROLE eonil LOGIN ENCRYPTED PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity';

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

test=> CREATE SCHEMA new_schema AUTHORIZATION eonil;
ERROR:  permission denied for database test
test=> 

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

答案1

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

GRANT CREATE ON DATABASE test TO eonil

CREATE权限应用于现有数据库时,允许用户在数据库中创建新架构。有关您可以获得的其他访问权限的官方文档GRANT这里

相关内容