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

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

Ответы:


16

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

GRANT CREATE ON DATABASE test TO eonil

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.