¿Qué se requiere para que un usuario normal pueda crear un esquema en PostgreSQL?

10

testCreé una nueva base de datos y creé el usuario 'eonil' con este comando:

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

en mi PostgreSQL. Corro psql -U eonil test. Cuando intenté hacer un nuevo esquema, muestra un error.

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

¿Por qué esto hace un error? ¿Qué se requiere?

Eonil
fuente

Respuestas:

16

Otorgue el CREATEprivilegio de usuario en la base de datos, p. Ej.

GRANT CREATE ON DATABASE test TO eonil

El CREATEprivilegio, cuando se aplica a una base de datos existente, permite al Usuario crear un nuevo esquema dentro de la base de datos. La documentación oficial de otros privilegios de acceso que puede encontrar GRANTestá aquí .

Magnus Hagander
fuente