I created a new database test
and created user 'eonil' with this command:
CREATE ROLE eonil LOGIN ENCRYPTED PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity';
on my PostgreSQL.
I run psql -U eonil test
.
When I tried to make a new schema, it shows an error.
test=> CREATE SCHEMA new_schema AUTHORIZATION eonil;
ERROR: permission denied for database test
test=>
Why does this make an error? What's required?
Best Answer
Grant the user
CREATE
privilege on the database, e.g.The
CREATE
privilege, when applied to an existing database, enables the User to create a new schema within the database. The official documentation for what other access privileges you canGRANT
is here.