O que é necessário para que um usuário normal possa criar um esquema no PostgreSQL?

6

Eu criei um novo banco de dados test e criei o usuário 'eonil' com este comando:

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

no meu PostgreSQL. Eu corro psql -U eonil test . Quando tentei criar um novo esquema, ele mostra um erro.

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

Por que isso causa um erro? O que é necessário?

    
por Eonil 27.02.2011 / 18:44

1 resposta

10

Conceda ao usuário CREATE privilege no banco de dados, por exemplo

GRANT CREATE ON DATABASE test TO eonil

O privilégio CREATE , quando aplicado a um banco de dados existente, permite que o usuário crie um novo esquema no banco de dados. A documentação oficial de quais outros privilégios de acesso você pode GRANT é aqui .

    
por 27.02.2011 / 18:57