Wofür steht das Feld "Service" im PostGIS-Verbindungsdialog?

10

Kann mir jemand erklären, was ich beim Herstellen einer Verbindung zur lokalen Datenbank in das Feld "Service" schreiben soll?

QGIS Lisboa und Postgres sind installiert.

Alex
quelle

Antworten:

9

Wofür steht das Feld "Service" im PostGIS-Verbindungsdialog?:

Mit dem Diensteintrag können Sie eine Dienstdatei angeben , die die Verbindungsparameter enthält, die für den Zugriff auf eine bestimmte PostgresQL-Datenbank erforderlich sind.

Wenn Sie über eine Servicedatei verfügen, können Sie die Eingabe anderer Details wie Datenbank, Host, Port, Benutzer und Kennwort ignorieren.

Hier sind einige der Optionen, die Sie in eine Servicedatei aufnehmen können .

Kann mir jemand erklären, was ich beim Herstellen einer Verbindung zur lokalen Datenbank in das Feld "Service" schreiben soll:

Wenn Sie also keine Servicedateien erstellt haben, müssen Sie nichts eingeben - lassen Sie das Feld leer.


Ich verwende Servicedateien, damit Personen, die sich nicht an Serverdetails erinnern können, bei Bedarf problemlos eine Verbindung herstellen können. Es fällt mir leichter zu sagen: "Bitte geben Sie xyz in das Servicefeld ein und drücken Sie OK."

Es besteht auch die Möglichkeit, diese Verbindungsdetails aus QGIS in einer XML-Datei zu speichern, indem Sie die Schaltflächen "Speichern / Laden" im ersten Bildschirm "PostGIS-Ebene hinzufügen" verwenden.

SaultDon
quelle
4

Normalerweise halte ich es leer.

Sie müssen nur einen Namen für die Verbindung, den Host (entweder IP oder Hostname des Datenbankservers), Posrt, Datenbank, Benutzername und Kennwort eingeben.

Dies ist mehr als ausreichend, um eine Verbindung zur PostGIS-Datenbank herzustellen.

Devdatta Tengshe
quelle
3
Name: (Any)
Service:(blank) 
Host:localhost (or IP) 
Port:5432 (5432 is postgres default port)
Database:postgis20 (yours may be different)  
Username:postgres (yours may be different)    
Password:your_password

Geben Sie hier die Bildbeschreibung ein

Überprüfen Sie, ob Sie in Ihrer pg_hba.conf eine Verbindung herstellen können

Beispiel:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5
Mapperz
quelle
3

In Ihrem Postgres-Verzeichnis (zB C: \ Programme \ PostgreSQL \ 9.3 \) finden Sie ein Unterverzeichnis namens "share". Dort finden Sie die Beispieldatei "pg_service.conf.sample". Erstellen Sie hier eine Service-Definition wie folgt:

[testconnection]
host=localhost
dbname=mytestdb
user=postgres
port=5432
password=postgres   

Speichern Sie diese Datei als ".pg_service.conf" (der Punkt am Anfang des Dateinamens ist wichtig!) Und kopieren Sie sie nach% APPDATA% \ postgresql \ (Sie können diesen Pfad in Windows-Explorer einfügen). Sie landen in einem Ordner wie C: \ Users \ thomas \ AppData \ Roaming \ postgresql

Starten Sie den PostgreSQL-Service neu, um die Konfiguration neu zu laden.

Jetzt können Sie eine neue PostGIS-Verbindung in QGIS erstellen, indem Sie einfach einen Dienstnamen verwenden.

Getestet auf einem Win7-Computer und funktioniert wie ein Charme. Sehr nützlich, wenn Sie vom Test- zum Produktionsdatenbankserver wechseln möchten, ohne die QGIS-Projektdateien ändern zu müssen. Ändern Sie einfach die Verbindungsparameter in der Servicedatei und schon sind Sie da.

Beste Wünsche, Thomas

Thomas B.
quelle