Im Prozess der Erstellung der PostgreSQL-Datenbank „Landkarte“ zu erstellen, die die postgis Erweiterung verwendet, über CREATE EXTENSION postgis;
, user „Kartograph“ erhält folgende Fehlermeldung:Postgres Erweiterung postgis Fehler
permission denied to create extension "postgis"
HINT: Must be superuser to create this extension.
Aber user „Kartograph“ ist der Besitzer die Datenbank von sudo -u postgres psql
über den Befehl wie folgt angegeben:
CREATE DATABASE map OWNER mapmaker;
GRANT ALL PRIVILEGES ON DATABASE map TO mapmaker;
Sobald mapmaker ist ein Super-User auf der Benutzerebene nicht mehr ich die Fehlermeldung und die Erweiterung erstellt wird, so verstehe ich alles, was ich tun muß, ist die zul einstellen mapmaker über den postgres-Benutzer an den Superuser, aber ich möchte wissen, warum dies der Fall ist, wenn dem Mapmaker alle Berechtigungen für die Datenbankkarte gewährt wurden? Werden Erweiterungen anders behandelt? Um Erweiterungen zu verwenden, muss ein Benutzer ein Superuser auf Benutzerebene sein oder können die Berechtigungen auf Datenbankebene zugewiesen werden?
Ich sah cannot create extension without superuser role aber die Antwort auf die Frage nicht erklären, warum und leider habe ich nicht genug Punkte zu kommentieren, daher die Frage.
PostgreSQL 9.1.9 PostGIS 2.0.3