Lernprogramm: Erste Schritte mit Geodatabases in PostgreSQL

Mit der Standard- oder Advanced-Lizenz verfügbar.

Komplexität: Einsteiger Datenanforderung: Eigene Daten verwenden

In diesem Lernprogramm wird an einem Beispiel erläutert, wie Sie eine Enterprise-Geodatabase in PostgreSQL auf einem Microsoft Windows-Server verwenden können. In diesem Lernprogramm wird davon ausgegangen, dass Sie ArcGIS Server und ArcGIS AllSource bereits installiert haben und über die Verbindungsinformationen für die Anmeldenamen des Datenbank- und Geodatabase-Administrators verfügen.

Installieren und Konfigurieren von PostgreSQL

In diesem Tutorial können Sie die auf My Esri bereitgestellte PostgreSQL-Installation oder eine unterstützte PostgreSQL-Version aus einer anderen Quelle ausführen. Nachdem Sie PostgreSQL installiert haben, konfigurieren Sie die Datei pg_hba.conf so, dass das Datenbank-Cluster Remote-Verbindungen zulässt.

Laden Sie PostgreSQL herunter, und installieren Sie es.

  1. Laden Sie die PostgreSQL-Installation von My Esri herunter.
  2. Führen Sie die ausführbare Setup-Datei auf dem Windows-Server aus, auf dem Sie PostgreSQL installieren möchten.

    Abgesehen vom Gebietsschema und der Sortierung für nicht englischsprachige Sites können Sie die vom Installationsassistenten vorgegebenen Standardwerte verwenden.

    Während der Installation geben Sie ein Kennwort für den Postgres-Superuser an. Merken Sie sich dieses Kennwort, da es sich um das Kennwort für den Datenbankadministrator des Datenbank-Clusters handelt und später in diesem Lernprogramm benötigt wird.

Bei der Erstinstallation von PostgreSQL können Sie nur vom lokalen Server eine Verbindung herstellen. Um eine Verbindung von anderen Computern im Netzwerk zu ermöglichen, müssen Sie die Datei pg_hba.conf anpassen.

  1. Öffnen Sie die Datei pg_hba.conf aus dem PostgreSQL-Datenverzeichnis in einem Texteditor.

    Das Standardverzeichnis ist C:\Program Files\PostgreSQL\<PostgreSQL version>\data.

  2. Geben Sie die Client-Adressen an, die Zugriff auf die Datenbank erhalten sollen.

    Im folgenden Beispiel erhalten alle Computer, die eine Verbindung über orgnetwor.com herstellen Zugriff auf alle Datenbanken im Datenbank-Cluster:

    #TYPE  DATABASE     USER    ADDRESS            METHOD
    
    host     all        all     .orgnetwork.com     md5
    

    Um den Datenbank-Cluster sicherer zu gestalten, können Sie den Zugriff auf bestimmte IP-Adressen oder auf einen Adressbereich beschränken, eine Datenbank oder eine Liste von Datenbanken angeben, auf die Sie Zugriff gewähren möchten, oder bestimmte Benutzer festlegen, die eine Verbindung herstellen können. Sie können sogar explizit den Zugriff auf eine bestimmte IP-Adresse oder auf einen IP-Adressbereich verweigern. Weitere Informationen und Beispiele finden Sie in der PostgreSQL-Dokumentation.

  3. Starten Sie den PostgreSQL-Service neu.

    Klicken Sie dazu in der Liste der Windows-Dienste mit der rechten Maustaste auf "postgresql-x64", und wählen Sie Neu starten.

Platzieren der "ST_Geometry"-Bibliotheken im PostgreSQL-Bibliotheksverzeichnis

Sie können den räumlichen Typ "ST_Geometry" in der Geodatabase oder einen räumlichen Typ in PostGIS verwenden. Für diesen Workflow konfigurieren Sie "ST_Geometry".

Laden Sie die Bibliotheksdatei "ST_Geometry" von My Esri herunter.

Da in diesem Lernprogramm davon ausgegangen wird, dass sich die PostgreSQL-Installation auf einem Windows-Server befindet, verwenden Sie die "ST_Geometry"-Bibliothek im Ordner Windows64.

  1. Navigieren Sie in Windows Explorer zum Speicherort der Windows "ST_Geometry"-Bibliothek im ArcGIS-Client-Installationsverzeichnis, oder laden Sie die Datei von My Esri herunter.
  2. Kopieren Sie st_geometry.dll aus diesem Verzeichnis.
  3. Navigieren Sie zum PostgreSQL-Verzeichnis lib auf dem Datenbankserver, und fügen Sie die Bibliothek in das Verzeichnis ein.

    Unter Windows lautet das Standardverzeichnis C:\Program Files\PostgreSQL\<PostgreSQL version>\lib.

Erstellen einer Geodatabase

Sie können das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen verwenden, um die Datenbank, den SDE-Benutzer, das SDE-Schema und eine Geodatabase in PostgreSQL zu erstellen.

  1. Starten Sie ArcGIS AllSource, und öffnen Sie das Werkzeug Enterprise-Geodatabase erstellen.
  2. Geben Sie die Informationen ein, die für eine Verbindung mit dem PostgreSQL-Datenbank-Cluster als Postgres-Superuser erforderlich sind, um eine Datenbank und den SDE-Benutzer zu erstellen. Sie müssen außerdem auf die Schlüsselcodedatei verweisen, die erstellt wurde, als Sie die ArcGIS Server-Site autorisiert haben.
  3. Klicken Sie auf Ausführen.

Die Datenbank, der SDE-Benutzer, das SDE-Schema und die Geodatabase werden in PostgreSQL erstellt.

Erstellen eines Benutzers als Besitzer von Daten

Die in der Geodatabase gespeicherten Daten sollten im Besitz eines anderen Benutzers als dem SDE-Benutzer sein. Verwenden Sie das Geoverarbeitungswerkzeug Datenbankbenutzer erstellen, um einen Benutzer im PostgreSQL-Datenbank-Cluster sowie ein Schema in der neuen Datenbank zu erstellen.

Allerdings müssen Sie zuerst eine Verbindung zur Geodatabase als Datenbankadministrator herstellen, um den Benutzer erstellen zu können. In diesem Fall können Sie eine Verbindung als Superuser "postgres" oder als SDE-Benutzer herstellen, da das Werkzeug Enterprise-Geodatabase erstellen dem SDE-Benutzer den Status "Superuser" erteilt hat.

Erstellen Sie eine Datenbankverbindung, und melden Sie sich als postgres- oder SDE-Benutzer an.

  1. Stellen Sie eine Verbindung mit der Datenbank her, indem Sie im Bereich Katalog mit der rechten Maustaste auf den Ordner Datenbanken klicken und danach auf Neue Datenbankverbindung klicken.

    Daraufhin wird das Dialogfeld Datenbankverbindung angezeigt.

  2. Geben Sie die notwendigen Informationen für die Verbindung mit der neuen Datenbank als PostgreSQL-Superuser ein.

    Da Sie diese Verbindungsdatei in einem Geoverarbeitungswerkzeug verwenden, müssen Sie die Option Benutzername und Kennwort speichern aktivieren. Nachdem Sie das Werkzeug ausgeführt haben, sollten Sie diese Option jedoch entweder in der Verbindungsdatei deaktivieren, sich als anderer Benutzer anmelden oder die Verbindungsdatei löschen, damit andere Benutzer mit Zugriff auf diese Datei sich nicht als Datenbankadministrator bei der Geodatabase anmelden können.

  3. Klicken Sie auf OK, um die Verbindung zu erstellen.

Unter Datenbankverbindungen wird eine neue Verbindungsdatei angezeigt.

Nun können Sie das Werkzeug Datenbankbenutzer erstellen ausführen.

  1. Öffnen Sie das Werkzeug Datenbankbenutzer erstellen.
  2. Ziehen Sie die neue Verbindungsdatei in das Textfeld Eingabedatenbank-Workspace des Werkzeugs Datenbankbenutzer erstellen.
  3. Geben Sie einen Namen für den neuen Benutzer in das Textfeld Datenbankbenutzer und das Kennwort für den neuen Benutzer in das Textfeld Kennwort des Datenbankbenutzers ein.
  4. Klicken Sie auf Ausführen.

Ein neuer Benutzer und ein Schema werden in PostgreSQL erstellt, und im Schema wird der öffentlichen Rolle automatisch die USAGE-Berechtigung erteilt.

Verbinden als neu erstellter Benutzer

Nachdem Sie nun einen Benutzer haben, der Daten zur neuen Geodatabase hinzufügen kann, stellen Sie als dieser Benutzer eine Verbindung mit der Datenbank her. Dies können Sie ganz einfach durch Ändern der zuvor erstellten Verbindungsdatei erreichen.

Öffnen Sie die vorhandene Datenbankverbindung, und ändern Sie den Benutzernamen und das Kennwort.

  1. Klicken Sie mit der rechten Maustaste auf die Datenbankverbindung, und wählen Sie Verbindungseigenschaften.
  2. Ändern Sie die Werte für Benutzername und Kennwort in die des neuen Benutzers.
  3. Klicken Sie auf OK, um als neuer Benutzer eine Verbindung herzustellen.

Sie können jetzt diese Verbindung verwenden, um Daten zur Geodatabase hinzuzufügen.