Что требуется, чтобы обычный пользователь мог создать схему на 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=> 

Почему это делает ошибку? Что требуется?

Eonil
источник

Ответы:

16

Предоставьте пользователю CREATEпривилегию в базе данных, например,

GRANT CREATE ON DATABASE test TO eonil

Эта CREATEпривилегия при применении к существующей базе данных позволяет пользователю создавать новую схему в базе данных. Официальная документация для каких других прав доступа вы можете GRANTэто здесь .

Магнус Хагандер
источник