Was ist erforderlich, damit ein normaler Benutzer ein Schema unter PostgreSQL erstellen kann?

10

Ich habe eine neue Datenbank erstellt testund den Benutzer 'eonil' mit diesem Befehl erstellt:

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

auf meinem PostgreSQL. Ich renne psql -U eonil test. Beim Versuch, ein neues Schema zu erstellen, wird ein Fehler angezeigt.

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

Warum macht dies einen Fehler? Was ist erforderlich?

Eonil
quelle

Antworten:

16

Gewähren Sie die Benutzerberechtigung CREATEfür die Datenbank, z

GRANT CREATE ON DATABASE test TO eonil

CREATEWenn das Privileg auf eine vorhandene Datenbank angewendet wird, kann der Benutzer ein neues Schema in der Datenbank erstellen. Die offizielle Dokumentation für das, was andere Zugriffsrechte können Sie GRANTist hier .

Magnus Hagander
quelle