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


10

Criei um novo banco de dados teste 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 comete um erro? O que é necessário?

Respostas:


16

Conceda o CREATEprivilégio do usuário no banco de dados, por exemplo

GRANT CREATE ON DATABASE test TO eonil

O CREATEprivilégio, quando aplicado a um banco de dados existente, permite ao usuário criar um novo esquema dentro do banco de dados. A documentação oficial sobre quais outros privilégios de acesso você pode GRANTencontrar aqui .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.