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


10

我创建了一个新数据库,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=> 

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

Answers:


16

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

GRANT CREATE ON DATABASE test TO eonil

CREATE特权应用于现有数据库后,使用户能够在数据库中创建新架构。您可以GRANT此处获得其他访问权限的官方文档。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.