Lernprogramm: Erste Schritte mit Geodatabases in PostgreSQL

Komplexität: Einsteiger Datenanforderung: Eigene Daten verwenden

In diesem Lernprogramm wird ein Beispiel erläutert, wie Sie eine Enterprise-Geodatabase in PostgreSQL 9.0.2-1 auf einem Windows-Server verwenden können. Für dieses Lernprogramm wird vorausgesetzt, dass Sie bereits ArcGIS for Desktop und ArcGIS for Server installiert haben.

Installieren und Konfigurieren von PostgreSQL

Führen Sie für dieses Lernprogramm die Installation von PostgreSQL aus, die im Esri Customer Care Portal zur Verfügung steht. 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.

Schritte:
  1. Laden Sie die PostgreSQL-Installation (in diesem Fall "postgresql 9.0.2-1 windows x64") vom Esri Customer Care Portal herunter.
  2. Führen Sie die 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 Rechnern im Netzwerk zu ermöglichen, müssen Sie die Datei "pg_hba.conf" anpassen.

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

    Das Standardverzeichnis ist C:\Programme\PostgreSQL\9.0\data.

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

    Im folgenden Beispiel erhalten alle Adressen und alle verbindenden Benutzer im Netzwerk Zugriff auf alle Datenbanken im Datenbank-Cluster:

    #  TYPE  DATABASE     USER     CIDR-ADDRESS    METHOD
    
    # IPV4 local connections:
    host     all          all      0.0.0.0/0       md5
    
    # IPV6 local connections:
    host     all          all      ::/0            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 Bibliothek "ST_Geometry" im PostgreSQL-Bibliotheksverzeichnis

Das Erstellen von Geodatabases in PostgreSQL basiert auf der vorhandenen "ST_Geometry"-Bibliothek. Sie müssen die entsprechende Bibliothek im Verzeichnis "lib" der PostgreSQL-Installation platzieren, bevor Sie eine Geodatabase erstellen können. Die "ST_Geometry"-Bibliotheken befinden sich im Ordner "DatabaseSupport" der ArcGIS-Client-Installation.

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

Schritte:
  1. Navigieren Sie in Windows Explorer zum Speicherort der Windows "ST_Geometry"-Bibliothek im ArcGIS-Client-Installationsverzeichnis.

    Das Standardverzeichnis für ArcGIS for Desktop auf Windows 64-Bit-Betriebssystemen ist "C:\Programme (x86)\ArcGIS\Desktop<Version>\DatabaseSupport\PostgreSQL\Windows64" und auf Windows 32-Bit-Betriebssystemen "C:\Programme\ArcGIS\Desktop<Version>\DatabaseSupport\PostgreSQL\Windows64".

  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.

    Das Standardverzeichnis unter Windows ist "C:\Programme\PostgreSQL\9.0\lib".

Platzieren der PostgreSQL-Client-Dateien auf dem ArcGIS-Client-Computer

Damit Sie von ArcGIS eine Verbindung zum Erstellen einer Geodatabase herstellen können, müssen die PostgreSQL Client Libraries auf dem Client-Computer installiert sein.

Schritte:
  1. Laden Sie die PostgreSQL-Client-Dateien vom Esri Customer Care Portal herunter.

    Zum Herstellen einer Verbindung von ArcGIS for Desktop benötigen Sie die 32-Bit-Dateien. Zum Herstellen einer Verbindung von ArcGIS for Server benötigen Sie die 64-Bit-Dateien. Wenn beide ArcGIS-Clients auf demselben Computer installiert sind, benötigen Sie beide Bibliotheken.

  2. Fügen Sie die entsprechenden Bibliotheken in das Verzeichnis "bin" des ArcGIS-Clients ein.
    • Fügen Sie für ArcGIS for Desktop die 32-Bit-Dateien in das Verzeichnis "C:\Programme (x86)\ArcGIS\Desktop<Version>\bin" (64-Bit-Betriebssysteme) oder "C:\Programme\ArcGIS\Desktop<Version>\bin" (32-Bit-Betriebssysteme) ein.
    • Fügen Sie für ArcGIS for Server die 64-Bit-Dateien in das Verzeichnis "C:\Programme\ArcGIS\Server\bin" ein.
    HinweisHinweis:

    Die Bibliotheken müssen auf jedem ArcGIS-Client-Computer platziert werden, von dem Sie eine Verbindung zur Datenbank herstellen.

  3. Starten Sie ArcGIS for Server neu, falls es bereits ausgeführt wird, sodass es die Dateien erkennt, die Sie in das "bin"-Verzeichnis eingefügt haben.

Erstellen einer Geodatabase

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

Schritte:
  1. Starten Sie ArcMap, und öffnen Sie das Fenster Suchen.
  2. Klicken Sie auf den Filter Werkzeuge.
  3. Geben Sie in das Suchfeld Enterprise-Geodatabase erstellen ein, und klicken Sie auf die Schaltfläche "Suchen".
  4. Klicken Sie auf den Link Enterprise-Geodatabase erstellen (Data Management), um das Werkzeug zu öffnen.
  5. 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 for Server-Instanz autorisiert haben.

    In diesem Beispiel wird PostgreSQL auf dem Server "mypgserver" ausgeführt, die zu erstellende Datenbank heißt "fstutorial", und die Autorisierungs-Schlüsselcodedatei befindet sich im Standardverzeichnis auf dem ArcGIS for Server-Computer. Die Kennwörter für den Postgres-Superuser und den zu erstellenden SDE-Benutzer wurden ebenfalls bereitgestellt. Der Tablespace-Name wurde leer gelassen, was bedeutet, dass die Datenbank im Tablespace "pg_default" erstellt wird.

    Beispielwerte zum Erstellen einer Geodatabase in PostgreSQL

  6. Klicken Sie auf OK, um das Werkzeug auszufü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.

Sie müssen zuerst eine Verbindung zur Geodatabase als Datenbankadministrator (in diesem Fall der Postgres-Superuser) herstellen, um den Benutzer erstellen zu können.

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

Schritte:
  1. Erweitern Sie im Kataloginhaltsverzeichnis in ArcMap den Knoten Datenbankverbindungen, und doppelklicken Sie auf Datenbankverbindung hinzufügen.

    Das Dialogfeld Datenbankverbindungen wird geöffnet.

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

    In diesem Beispiel wird eine Verbindung mit der neuen Geodatabase "fstutorial" als Benutzer "postgres" hergestellt:

    Beispiel für eine Verbindung als postgres-Benutzer

    Da Sie diese Verbindungsdatei in einem Geoverarbeitungswerkzeug verwenden, müssen Sie 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.

Daraufhin wird unter dem Knoten Datenbankverbindungen des Kataloginhaltsverzeichnisses eine neue Verbindungsdatei angezeigt.

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

Schritte:
  1. Klicken Sie auf den Filter Werkzeuge im Fenster Suchen in ArcMap.
  2. Geben Sie in das Suchfeld Datenbankbenutzer erstellen ein, und klicken Sie auf die Schaltfläche Suchen.
  3. Klicken Sie auf den Link Datenbankbenutzer erstellen (Data Management), um das Werkzeug zu öffnen.
  4. Ziehen Sie die neue Verbindungsdatei aus dem Kataloginhaltsverzeichnis in das Textfeld Eingabedatenbank-Workspace des Werkzeugs Datenbankbenutzer erstellen.
  5. 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.

    In diesem Beispiel wurde die Verbindungsdatei, die in den letzten Schritten erstellt wurde, zum Werkzeug hinzugefügt und ein Benutzername (fstuser) mit Kennwort bereitgestellt. Da noch keine Datenbankrolle erstellt wurde, ist kein Rollenname angegeben.

    Beispielwerte zum Erstellen des Benutzers

  6. Klicken Sie auf OK, um das Werkzeug auszufü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.

Schritte:
  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.

    Beispiel für eine Verbindung als Nichtadministrator-Benutzer

  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.

Verwandte Themen

5/9/2014