Ich habe ein Plugin erstellt, das nach Anmeldeinformationen für eine Datenbank fragt. Sobald Sie angemeldet sind, lädt das Plugin einige Layer aus der Datenbank. In der Datenbank gibt es sowohl Administrator- als auch "normale" Benutzer.
Ich habe zwei Stile von der Benutzeroberfläche als Standardstil für ihre Ebene in der Datenbank gespeichert (anscheinend müssen Sie über DB-Administratorrechte verfügen, um sie speichern zu können).
Sobald ich die Stile in der Datenbank gespeichert habe, kann ich nicht sehen, wo sie gespeichert sind, dh ich kann keine neuen Tabellen sehen. (Ich habe erwartet, dass die Stile in einer Tabelle gespeichert werden)
Wenn Sie QGIS und das Plugin erneut ausführen (als Administrator), werden die Ebenenstile automatisch geladen.
Wenn Sie QGIS und das Plugin erneut ausführen (wie beim normalen Benutzer), werden sie jedoch nicht automatisch geladen. Ich versuche dann, die Stile aus der Datenbank (von der GUI) zu laden, aber es werden keine Stile geladen.
Zwei Fragen.
- Wie werden die Ebenenstile in der Datenbank gespeichert?
- Gibt es eine Möglichkeit, die Ebenenstile ohne DB-Administratorrechte zu laden?
Antworten:
Die Stile werden normalerweise in public.layer_styles gespeichert.
Da es sich im öffentlichen Schema befindet, sollte es für jeden Benutzer zugänglich sein. Wenn nicht, stellen Sie sicher, dass Folgendes verwendet wird:
quelle
public
(Arbeiten mit einer Datenbank mit mehreren Schemata).