Postgis kann nicht über QGIS 1.8.0 verbunden werden

8

Ich habe PostgreSQL und PostGIS auf meinem Laptop installiert (Win 7 64-Bit-Betriebssystem). Ich verwende QGIS 1.8.0 auf meinem Computer.

Wenn ich versuche, eine Verbindung zu Postgis herzustellen, wird der Fehler "Verbindung fehlgeschlagen" angezeigt. Dann habe ich Folgendes versucht:

Einzelheiten:

Port: 5433 Benutzername: postgres Passwort: postgres

  1. Ich habe die Datei pg_hba.conf überprüft (Alle Standardeinstellungen).

  2. Starten Sie den PostgreSQL-Dienst neu und versuchen Sie es

  3. Ich habe PostsreSQL neu installiert und erhalte den gleichen Fehler.

  4. Versucht, leere Felder zu verwenden, während die Verbindung immer noch einen Fehler anzeigt. (Ich bin mir nicht sicher, was ich in den Servicebereich stellen soll. Versucht mit postgres und postgresql)

  5. Meine Firewall ist deaktiviert.

  6. Die Datenbank PostgreSQL (Version 9.2) ist auf meinem lokalen Computer installiert, und Postgis (Version 2.0.3-2) ist auf meinem Computer installiert. Beide sind für 64-Bit-Setups vorgesehen.

7. Soll ich eine niedrigere Version von Postgresql mit qGIS ausprobieren?

Screenshot 1 Screenshot 2

Recherchierte auch bei Google und fand ähnliche Fehler im Zusammenhang mit Verbindungsproblemen (nicht sicher)

Sunil
quelle
Ich habe Postgresql 9.1 und Postgis 2.0 unter Linux zum Laufen gebracht. Vielleicht sollten Sie postgresql wirklich herabstufen. Überprüfen Sie hier Ihre QGIS-Fähigkeit, Postgis zu verbinden: Host: gis-lab.info; Port 5432; Datenbank: osm_shp; ssl: deaktivieren; Benutzername: Gast; Passwort: Gast. Haben Sie Geduld - es gibt viele Daten. Ich weiß nicht, welche pogtresql / gis-Versionen es gibt.
SS_Rebelious
Haben Sie Postgis in Ihrer Datenbank installiert oder aus der Postgis-Vorlage erstellt? Wenn nicht, schlägt Ihre Verbindung fehl.
Gsherman
Was sagt der Eintrag pg_hba.conf für "local"? Verwendet es Peer, Ident oder MD5 zur Authentifizierung?
SaultDon
@gsherman Ich habe Postgis in meiner Datenbank installiert und während der Installation wurde nur die Standardoption ausgewählt
Sunil
@SaultDon Es ist md5
Sunil

Antworten:

4

Ich bin nicht sicher, ob es wichtig ist, aber für mich sprechen Postgis 1.5 und Postgres 9.0 (x86) ohne Probleme mit QGIS 1.8.0.

QGIS ist auch auf 64-Bit-Computern von Windows 7 noch 32-Bit. Probieren Sie die x86-Version und die alte Postgis-Version aus.

AndreJ
quelle
Vielen Dank für die Antwort. Es funktioniert perfekt auf meinem Computer und ich frage mich, ob dieses Problem in der kommenden Version 2.0 behoben sein wird. Ich kann auch kein solches Dokument finden, das die Kompatibilität von qgis 1.8.0 und PostgreSQL überprüft. Nochmals vielen Dank :)
Sunil
1
Die 64-Bit-Unterstützung steht weiterhin auf der Wunschliste, da alle abhängigen Pakete mit 64-Bit-Unterstützung kompiliert werden müssen. Ich bin froh, dass das 32-Bit noch funktioniert ;-)
AndreJ
4

Sie müssen bestätigen, dass die Datenbank PostGIS und nicht PostGres ist

Gehen Sie zu pgAdmin und zeigen Sie Ihre Datenbank an. Öffnen Sie die Datenbank und zeigen Sie sie an. Neben "Schemas" stehen eine Reihe von Schemas zur Verfügung. Wenn dort "Schemas (1)" steht, handelt es sich wahrscheinlich nur um eine PostGres-Datenbank. In "Schemas" sollte ein Eintrag für "Topologie" vorhanden sein. Wenn keine Topologie vorhanden ist, handelt es sich nicht um eine räumliche Datenbank (PostGIS) und ist daher in QGIS nicht sichtbar.

jase81
quelle
2

Ich hatte dieses Problem auch kürzlich. Was für mich funktioniert hat ist:

  1. Lassen Sie das Host-Feld leer. "localhost" bezieht sich auf die Verbindung zu Ihrem lokalen Computer über IP, was meiner Meinung nach nicht das ist, was Sie wollen.
  2. Suchen Sie in Ihrer postgresql.conf-Datei nach

    listen_addresses = '*'      # what IP address(es) to listen on;

    und stellen Sie sicher, dass es sich um ein '*' handelt. Dadurch wird sichergestellt, dass Ihre lokale Verbindung gefunden werden kann

  3. Überprüfen Sie Ihre Datei pg_hba.conf und stellen Sie sicher, dass Ihre Authentifizierungsberechtigungen für den Eintrag "local" korrekt festgelegt sind

Bearbeiten: Hier ist ein Link zu meiner ähnlichen Frage zu Datenbankadministratoren.

Jay Guarneri
quelle
Ich habe deinen Weg versucht, aber es hat nicht funktioniert: (
Sunil
1
Danke für den Link. Ich werde mich immer noch fragen, warum es keine Verbindung hergestellt hat. Übrigens habe ich das Problem durch die Installation von 32-Bit-Software gemäß der Antwort von @Andre Joost behoben. Vielen Dank für die Bereitstellung zusätzlicher Informationen :)
Sunil
2

Ich weiß nicht, ob das helfen wird, aber ...

Ich habe gerade erst damit begonnen, aber ich habe festgestellt, dass "localhost" auf meinem PC, der ähnliche Konfigurationen / Versionen wie Sie hat, nicht aufgelöst werden kann. Ich habe es durch 127.0.0.1 ersetzt und eine erfolgreiche Verbindung hergestellt.

Gerade beginnend
quelle
Danke für die Antwort . Ich habe es versucht, aber es hat nicht funktioniert.
Sunil
2

Die Antwort ist in einem Beitrag 5 Jahre später, zuletzt überarbeitet 4 Jahre später! Ich fand es in Bezug auf "QGIS Ticket # 930". Was Sie tun MÜSSEN: Überprüfen Sie NUR den Benutzernamen und das Kennwort SPEICHERN im Dialogfeld, das Ihre Verbindung definiert. DAS IST ALLES. Es hat plötzlich bei mir funktioniert und ich bin mir ziemlich sicher, dass ich es für Sie tun werde. Meine Umgebung: Windows 7 Pro / QGIS 1.8 / PostgreSQL 9.2 / PostGIS 2.0.2 / Alle 64 Bit.

Jose I Miranda
quelle
Danke für die Antwort. Ich werde es untersuchen und Sie wissen lassen ... Danke
Sunil
1

Sie verwenden den Port 5433, aber der Standardport ist 5432. Vielleicht steuern Sie ihn.

Wolf
quelle
Können Sie dies als Antwort erweitern, da es eher nach einem Kommentar / Vorschlag als nach etwas mit Zuversicht herausgegebenem aussieht?
PolyGeo
@PolyGeo Eigentlich habe ich diese zuvor ausprobiert und ich habe versucht, Andre Joost zu umgehen, und es funktioniert perfekt für mich :) Also, wenn möglich, bitte schützen Sie diese Frage.
Sunil