Owner der Schemas alkis und postgis ist Rolle gis_owner, deren Mitglied der User ist. gis_owner hat Default Privileges auf den beiden Schemas. Der User hat somit alle Berechtigungen, um über alkisimport in Schemas alkis und postgis Datenbankobjekte erstellen zu lassen. Datenbankowner ist postgres.
=# \dn alkis|postgis
List of schemas
Name | Owner
---------+-----------
alkis | gis_owner
postgis | gis_owner
(2 rows)
Ein User ohne Privilege
CREATE
auf der Datenbank wollte alkisimport über QGIS ausführen. Das schlug fehl, obwohl Schemaalkis
bereits existiert:Nachdem ich dem User Privilege
CREATE
auf der Datenbank gegeben hatte funktionierte der Import.Die Fehlerursache ist, dass
alkis_set_schema(text)
ein vorhandenes Schema mittels Exception behandelt, anstattpg_namespace
zu prüfen:https://github.com/norBIT/alkisimport/blob/e393be3a435fb2bb212a9f37489656c219099f9b/alkis-functions.sql#L21-L26
Der Import sollte bei einem vorhandenem Schema nicht daran scheitern, dass Privilege
CREATE
fehlt.Zum Vergleich:
alkis-import.sh
undalkisImport.py
prüfen dagegen zuerstpg_namespace
:https://github.com/norBIT/alkisimport/blob/e393be3a435fb2bb212a9f37489656c219099f9b/alkis-import.sh#L557-L561
https://github.com/norBIT/alkisimport/blob/e393be3a435fb2bb212a9f37489656c219099f9b/alkisImport.py#L667-L675
Owner der Schemas
alkis
undpostgis
ist Rollegis_owner
, deren Mitglied der User ist.gis_owner
hat Default Privileges auf den beiden Schemas. Der User hat somit alle Berechtigungen, um über alkisimport in Schemasalkis
undpostgis
Datenbankobjekte erstellen zu lassen. Datenbankowner istpostgres
.Der Fehler in
alkis.alkis_importlog
im Detail: