Es hört sich so an, als ob Ihr Administrator die Datenbank erfolgreich installiert und Ihnen die erforderlichen Details zur Verfügung gestellt hat. Möglicherweise haben sie auch PostGIS während der Installation konfiguriert. Wenn dies nicht der Fall ist, können Sie dies überprüfen, während Sie diese Schritte ausführen.
Bitten Sie zuerst Ihren Administrator, pgAdmin zu installieren, damit Sie über eine grafische Oberfläche auf Ihre PostgreSQL-Datenbank zugreifen können.
https://www.pgadmin.org/download/windows.php
Öffnen Sie pgAdmin
Wenn Ihr PostgreSQL installiert wurde;
- Auf Ihrem Computer wird es als localhost angezeigt. Sie sollten in der Lage sein, auf 'PostgreSQL 9.6 (localhost: 5432)' zu doppelklicken, um eine Verbindung zu ihm herzustellen.
- Wenn es im Netzwerk installiert wurde, muss Ihr Administrator Ihnen die Hostadresse mitteilen (falls Sie diese noch nicht haben). Gehen Sie dann zu Datei> Server hinzufügen und füllen Sie die Felder aus.
Sobald die Verbindung hergestellt ist, gehen Sie zu Edit > New Object > New Database
Gib ihm einen Namen. Es wird in Ihrer Serverliste angezeigt.
Doppelklicken Sie, um eine Verbindung herzustellen. Überprüfen Sie das, um Extensions
zu sehen, ob es aufgelistet ist postgis
.
Wenn nicht;
Öffnen Sie das SQL-Fenster, indem Sie auf das SQL-Symbol klicken
und tippe ein
CREATE EXTENSION PostGIS
Drücken Sie auf "Abfrage ausführen" - dieses Symbol
Klicken Sie mit der rechten Maustaste auf die Datenbank in der Liste, trennen Sie die Verbindung und stellen Sie die Verbindung wieder her. Erweiterungen sollten jetzt postgis
aufgeführt sein.
Sie könnten zu diesem Zeitpunkt eine neue Gruppenrolle und Anmelderolle einrichten. Es hört sich so an, als ob Sie die Sicherheitsanforderungen und Ihre Benutzer im gesamten Netzwerk berücksichtigen sollten.
Wenn Sie es nur testen möchten, können Sie mit der Standardrolle fortfahren postgres
.
Es können verschiedene Gruppen mit unterschiedlichen Berechtigungen eingerichtet werden, z. B. Administrator und Benutzer. Benutzeranmeldungen können dann eingerichtet und einer beliebigen Gruppe zugewiesen werden, die der Berechtigungsstufe entspricht, die Sie dem Benutzer erteilen möchten, oder Sie können dem Administrator Zugriff auf alle Tabellen gewähren, und nur einigen Benutzern usw. Möglicherweise benötigen Sie keine Administratorgruppe.
Öffnen Sie das SQL-Fenster und führen Sie diese Abfragen aus.
CREATE ROLE user_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE admin_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT user_group_name TO admin_group_name
GRANT ALL ON DATABASE database_name TO admin_group_name;
Einrichten eines Administrator-Logins (als Postgres / Superuser angemeldet)
CREATE ROLE admin_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT admin_group_name TO admin_name;
Einrichten einer Benutzeranmeldung (als Postgres / Superuser angemeldet)
CREATE ROLE user_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT users_group_name TO user_name;
Öffnen Sie QGIS. Starten Sie ein neues Projekt.
Klicken Sie in der linken Symbolleiste auf das Symbol "PostGIS-Ebene hinzufügen".
Klicken Sie auf "Neue" Verbindung und geben Sie die Verbindungsdetails wie oben ein (wenn Ihre Datenbank lokal ist, ist Host nur localhost
).
Sie können die Verbindung jetzt testen. Wenn Sie das Kontrollkästchen "Speichern" neben dem Benutzernamen und dem Kennwort aktivieren, werden Ihre Anmeldeinformationen in Ihrem Profil gespeichert, sodass Sie nicht jedes Mal neu eingeben müssen. Abhängig von Ihren Sicherheitsanforderungen.
Klicken Sie auf "OK" und schließen Sie das Fenster "PostGIS-Tabelle hinzufügen".
Gehen Sie dann zu Database > DB Manager > DB Manager
(In den neuesten QGIS-Versionen ist DB Manager standardmäßig installiert. In früheren Versionen müssen Sie das DB Manager-Plugin installieren.)
Wählen Sie PostGIS. Das öffentliche Standardschema wird angezeigt. Es hört sich so an, als ob Sie ein neues Schema erstellen sollten, anstatt das öffentliche zu verwenden.
Schema> Schema erstellen - Geben Sie ihm einen Namen ( no_spaces_or_use_underscores
)
Nach dem Erstellen können Sie überprüfen, indem Sie zu pgAdmin zurückkehren, die Verbindung trennen und die Verbindung wiederherstellen. Das neue Schema sollte jetzt da sein.
Zurück zum QGIS DB Manager, um ein Shapefile in eine Tabelle in der Datenbank hochzuladen.
Klicken Sie auf den Abwärtspfeil 'Ebene / Datei importieren' und navigieren Sie zu dem Shapefile, das Sie importieren möchten. Klicken Sie auf das Symbol "...", um "Durchsuchen" zu öffnen.
Gib dem Tisch einen Namen ( again_no_spaces_or_use_underscores
)
Wählen Primary key
Wählen Geometry Column
Wählen Sie SRID
und geben Sie den CRS-Code ein
Vorerst alles übrige lassen und OK
.
Wenn es sich um einen großen Datensatz handelt, kann dies eine Weile dauern, insbesondere über eine Netzwerk- / Internetverbindung
Sie können wieder zu pgAdmin zurückkehren und diesmal auf "Aktualisieren" klicken. Die neue Tabelle wird in angezeigt Tables
.
Wenn Sie Gruppenrollen und Benutzer eingerichtet haben, müssen Sie beispielsweise Zugriff auf das Schema gewähren.
GRANT ALL ON SCHEMA schema_name TO admin_group_name;
GRANT USAGE ON SCHEMA schema_name TO user_group_name;
Zurück zu QGIS und 'PostGIS-Ebene hinzufügen'. Dieses Mal wählen Sie Verbinden. Öffnen Sie das Schema, markieren Sie die Tabelle und klicken Sie auf "Hinzufügen". Es wird in Ihrem Projektbereich geöffnet.