Zum Inhalt

PostgreSQL Service

Eine pg_service.conf Datei ermöglicht die Verwendung eines Alias für eine PostgreSQL-Serververbindung. Anstatt Hostname, Port, Datenbankname und mehr in der QGIS-Projektdatei zu speichern, können diese separat gespeichert werden. Es ist sogar möglich, Benutzername und Passwort in einer pg_service.conf Datei zu speichern, um zu vermeiden, dass dies im Klartext im QGIS-Projekt gespeichert wird.

Lesen Sie mehr über PostgreSQL-Dienste in der QGIS-Dokumentation.

QField - Direkte Verbindung

Wenn Sie direkt von QGIS aus eine Verbindung zu Ihrer Datenbank herstellen, können Sie eine pg_service.conf Datei verwenden, indem Sie diese im QField-Datenordner ablegen. Sie können Ihre Datei entweder auf dem internen Gerätespeicher oder auf dem SD-Kartenspeicher ablegen. Sie können den Pfad für den QField-Datenordner am unteren Über QField Bildschirmrand in der App überprüfen.

Normalerweise sieht der Pfad auf Android-Geräten in etwa so aus: /Android/data/ch.opengis.qfield/files/QField

Anmerkung

Anders als auf *NIX-Systemen, bei denen die Datei .pg_service.conf benannt ist, wird die Datei auf Android pg_service.conf ohne führendes Punktzeichen (.) benannt.

QFieldCloud

QFieldCloud unterstützt auch pg_service.conf Konfigurationen. Sie müssen Ihre PostgreSQL-Layer mit der Cloud-Aktion "Offline-Bearbeitung" konfigurieren und Ihre Service-Einstellungen auf der Seite "Secrets" des QFieldCloud-Projekts speichern.

Lesen Sie mehr darüber, wie Sie den PostgreSQL-Dienst konfigurieren in der QFieldCloud-Dokumentation.

Erstellen einer pg_service.conf Datei für eine PostgreSQL-Verbindung in QGIS und Secrets

Bevor Sie beginnen, stellen Sie sicher, dass Ihre PostgreSQL-Datenbank Verbindungen von QFieldCloud zulässt. Anweisungen finden Sie unter Technische Daten for instructions.

Setup pg_service.conf Datei

Zuerst müssen wir eine Konfigurationsdatei einrichten. Es gibt viele Möglichkeiten, dies zu organisieren. Lesen Sie mehr dazu in der PostgreSQL-Dokumentation oder folgen Sie der Beschreibung unten.

  1. Erstellen Sie eine Konfigurationsdatei:

  2. Unter Windows: Erstellen Sie eine Datei mit dem Namen pg_service.conf und speichern Sie diese an einem geeigneten Ort.

  3. Unter Linux/MacOS/Unix: Erstellen Sie eine Datei mit dem Namen .pg_service.conf in Ihrem Benutzerordner (~).

  4. Verbindungsparameter definieren:

Geben Sie in der Datei die Verbindungsparameter für Ihre PostgreSQL-Datenbank im folgenden Format an:

[SERVICE_NAME]
host=your_host_or_ip
port=your_port
dbname=your_database_name
user=your_username
password=your_password

Ersetzen Sie die Platzhalter (your_host_or_ip, your_port, your_database_name, your_username, your_password) durch die tatsächlichen Verbindungsdetails und speichern Sie die Datei.

Parameter
Parameter

Zusätzliche Konfigurationsschritte für Windows

  1. Umgebungsvariable setzen: Um sicherzustellen, dass QGIS die pg_service.conf Datei erkennt, erstellen Sie eine Umgebungsvariable, die auf ihren Speicherort zeigt

  2. Navigieren Sie zu "Dieser PC" oder "Arbeitsplatz" > Eigenschaften > Erweiterte Systemeinstellungen > Umgebungsvariablen.

  3. Fügen Sie eine neue Variable hinzu:
    • Variablen-Name: PGSERVICEFILE
    • Variablen-Wert: C:\Users\<YourUsername>\AppData\Roaming\postgresql\pg_service.conf (oder Ihr pg_service.conf Dateipfad).

Alternativ können Sie Umgebungsvariablen direkt in QGIS über Einstellungen > Optionen > System > Umgebung setzen. Weitere Informationen finden Sie in den QGIS Systemeinstellungen.

QGIS Systemumgebungsvariable
QGIS Systemumgebungsvariable

  1. Testen Sie die Verbindung in QGIS: Öffnen Sie QGIS und richten Sie eine neue PostgreSQL-Verbindung mit dem in pg_service.conf definierten Dienstnamen (z. B. [MY_QGIS_DB]) in den Verbindungsdetails ein. QGIS liest die Konfiguration in pg_service.conf automatisch aus.

  2. Öffnen Sie QGIS.

  3. Navigieren Sie zu "Layer" > " Layer hinzufügen" > "PostGIS Layer hinzufügen..."
  4. Wählen Sie unter "Neue PostGIS-Verbindung erstellen" die Option "Service" aus dem Dropdown-Menü aus.
  5. Geben Sie den Dienstnamen aus der pg_service.conf Datei (z. B. [NINJA_DB]) in das Feld "Dienst" ein.
  6. Klicken Sie auf "OK", um eine Verbindung zu Ihrer PostgreSQL-Datenbank herzustellen, indem Sie die Konfigurationen aus der pg_service.conf Datei verwenden.

Testen Sie Ihre Verbindung
Testen Sie Ihre Verbindung

  1. Parameter zu QFieldCloud Secrets hinzufügen: Navigieren Sie zur Secrets-Seite des Projekts und kopieren Sie den Service aus der .pg_service.conf Datei direkt in das Secret. Folgen Sie den Anleitungen unter Secrets.

Secret hinzufügen
Secret hinzufügen