Einrichten einer Geodatabase in PostgreSQL

Dieses Thema gilt nur für ArcGIS for Desktop Standard und ArcGIS for Desktop Advanced.

In den meisten Fällen können Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen oder ein Python-Skript verwenden, um eine Geodatabase in einem PostgreSQL-Datenbankmanagementsystem zu erstellen.

Das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen dient zum Erstellen einer Datenbank anhand der PostgreSQL-Standardvorlage. Es dient zum Erstellen einer sde-Login-Rolle und eines Schemas. Es dient zum Gewähren der Berechtigungen für die sde-Login-Rolle zum Erstellen einer Geodatabase, und es dient zum Erstellen einer Geodatabase. Wenn Sie eine andere Vorlage zum Erstellen der Datenbank verwenden möchten, erstellen Sie die Datenbank zunächst im Datenbank-Cluster. Führen Sie dann das Werkzeug Enterprise-Geodatabase erstellen oder ein Skript aus, und geben Sie den Namen der zuvor erstellten Datenbank an.

Sie können auch das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen oder ein Python-Skript verwenden, um sowohl eine Datenbank als auch eine Geodatabase in einer PostgreSQL-Datenbank zu erstellen. Die Verwendung des Werkzeugs Enterprise-Geodatabase aktivieren oder eines Skripts ist nur sinnvoll, wenn die Person, die die Geodatabase erstellen möchte, keinen Zugriff auf das Postgres-Superuser-Kennwort hat. In diesem Fall kann der Datenbankadministrator die sde-Login-Rolle, die Datenbank und das sde-Schema erstellen und dem sde-Benutzer die Berechtigungen zum Erstellen einer Geodatabase gewähren. Danach kann sich der sde-Benutzer mit der Datenbank verbinden und die Geodatabase-Funktion mit dem Geoverarbeitungswerkzeug Enterprise-Geodatabase aktivieren oder einem Skript aktivieren.

Überprüfen Sie die Systemanforderungen im Resource Center, bevor Sie eine Geodatabase einrichten, um sicherzustellen, dass die Datenbank-, ArcGIS- und Hardwarekombinationen unterstützt werden.

Einrichten einer Geodatabase in PostgreSQL auf einem Linux-Server

Im Folgenden finden Sie eine Zusammenfassung der Schritte zur Erstellung einer Geodatabase in PostgreSQL unter Linux:

  1. Laden Sie eine unterstützte Version von PostgreSQL herunter, und installieren Sie diese. Konfigurieren Sie den Datenbank-Cluster.

    Sie können PostgreSQL-Installationen vom Esri Customer Care Portal herunterladen. Wenn Sie diese Installation verwenden, sind keine speziellen nicht standardmäßigen Einstellungen erforderlich, um PostgreSQL mit ArcGIS zu verwenden. Ändern Sie nur das Gebietsschema und den Speicherort, wenn Sie dafür nicht die Standardeinstellungen verwenden möchten.

    Sie können auch eine separate Installation von PostgreSQL nutzen. Lesen Sie die Dokumentation auf der PostgreSQL-Website bezüglich Anweisungen zum Installieren und Konfigurieren von PostgreSQL.

  2. Konfigurieren Sie den Datenbank-Cluster, so dass dieser Verbindungen akzeptiert.

    Hierzu müssen Sie u. a. die Datei "pg_hba.conf" so ändern, dass das Datenbank-Cluster Remote-Verbindungen zulässt.

  3. Legen Sie die folgenden Umgebungsvariablen für den postgres-Benutzer fest, wenn diese nicht bereits korrekt definiert sind:
    • PGDATA: Diese wurde normalerweise bereits bei der PostgreSQL-Installation festgelegt. Wenn dies nicht der Fall ist, legen Sie den Speicherort des Datenverzeichnisses unterhalb des PostgreSQL-Installationsverzeichnisses fest.
    • LD_LIBRARY_PATH: Legen Sie für die Variable LD_LIBRARY_PATH das PostgreSQL-Verzeichnis "lib" fest. Der Speicherort des Verzeichnisses "lib" kann je nach Installation von PostgreSQL variieren. Um den richtigen Speicherort Ihrer PostgreSQL-Installation zu ermitteln, führen Sie "pg_config" als postgres-Benutzer aus. Legen Sie für LD_LIBRARY_PATH den Wert fest, der für PKGLIBDIR zurückgegeben wird.
    • PATH: Legen Sie die Variable PATH so fest, dass diese "postgresql/bin" enthält.
  4. Installieren Sie den ArcGIS-Client, von dem aus Sie die Geodatabase erstellen.
  5. Laden Sie die PostgreSQL Client Libraries (bei einem ArcGIS-Client unter Windows) oder die RPM (bei einem ArcGIS-Client unter Linux) vom Esri Customer Care Portal herunter, und speichern Sie sie im Verzeichnis "Bin" des ArcGIS-Clients, den Sie im vorherigen Schritt installiert haben. Weitere Informationen finden Sie unter Einrichten einer Verbindung zu PostgreSQL.
  6. Wenn Sie ArcGIS for Server mit der Geodatabase in PostgreSQL verwenden, legen Sie die folgenden Variablen für das ArcGIS-Konto fest:
    • SDEHOME: Legen Sie für diese Variable "/home/ags/arcgis/server" fest.

      export SDEHOME=/home/ags/arcgis/server

    • PG_HOME: Legen Sie PG_HOME auf "/opt/PostgreSQL/9.0" fest.

      export PG_HOME=/opt/PostgreSQL/9.0

    • PATH: Fügen Sie der Variablen PATH "$PATH:$PG_HOME/bin:$SDEHOME/bin" hinzu.

      export PATH=$PATH:$PG_HOME/bin:$SDEHOME/bin

    • LD_LIBRARY_PATH: Fügen Sie der Variablen LD_LIBRARY_PATH "$LD_LIBRARY_PATH:$PG_HOME/lib:$SDEHOME/lib" hinzu.

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PG_HOME/lib:$SDEHOME/lib

  7. Verschieben Sie die Bibliothek "st_geometry.so" in das PostgreSQL-Installationsverzeichnis.

    Die Bibliothek "st_geometry.so" für PostgreSQL 9.0 befindet sich im Verzeichnis "DatabaseSupport/PostgreSQL/Linux64" des ArcGIS-Client-Installationsverzeichnisses. Melden Sie sich als Stammverzeichnisbenutzer beim PostgreSQL-Server an, und verschieben Sie die Datei "st_geometry.so" aus diesem Verzeichnis auf dem ArcGIS-Client in das PostgreSQL-Verzeichnis "lib". (Dies ist der gleiche Speicherort, auf den Sie die Umgebungsvariable LD_LIBRARY_PATH festgelegt haben.)

    Ab ArcGIS 10.1 Service Pack 1 enthält das Verzeichnis "DatabaseSupport" ein Verzeichnis mit dem Namen 9.1. Wenn Sie eine Verbindung zu einer PostgreSQL 9.1-Datenbank herstellen möchten, verwenden Sie stattdessen die in diesem Verzeichnis enthaltene Bibliothek "st_geometry.so".

    Ab ArcGIS 10.2 enthält das Verzeichnis "DatabaseSupport" auch ein Verzeichnis mit dem Namen 9.2. Wenn Sie eine Verbindung zu einer PostgreSQL 9.2-Datenbank herstellen möchten, verwenden Sie stattdessen die in diesem Verzeichnis enthaltene Bibliothek "st_geometry.so".

    Wenn Sie dem PostgreSQL-Verzeichnis "lib" nicht die richtige Bibliothek "st_geometry.so" hinzufügen, können Sie keine Geodatabase erstellen.

    AchtungAchtung:

    Das Verzeichnis "DatabaseSupport" in ArcGIS for Server wird mit den Berechtigungen erstellt, die auf 700 festgelegt sind. Wenn Sie sich als Root-Benutzer anmelden, um die Datei "st_geometry.so" in das PostgreSQL-Bibliotheksverzeichnis zu verschieben, ändern Sie die Berechtigungen für die Datei, und setzen Sie sie auf 755. Andernfalls kann der Postgres-Benutzer nicht auf sie zugreifen, um eine Geodatabase zu erstellen.

  8. Erstellen Sie im Datenbank-Cluster einen Tablespace, in dem die Datenbank gespeichert werden kann. Wenn Sie keinen Tablespace erstellen, wird der Tablespace "pg_default" verwendet.
  9. Erstellen Sie eine Datenbank, einen SDE-Benutzer und ein Schema sowie eine Geodatabase, indem Sie einen der folgenden Schritte ausführen:
    • Führen Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen von ArcGIS for Desktop (Standard oder Advanced) auf einem Remote-Windows-Computer aus.
    • Führen Sie ein Python-Skript über einen Computer aus, auf dem ArcGIS for Desktop (Standard oder Advanced), ArcGIS Engine mit der Erweiterung "Geodatabase Update" oder ArcGIS for Server Enterprise (Standard oder Advanced) ausgeführt wird. Ein Beispielskript kann aus Skriptdatenbank- und Geodatabase-Erstellung in PostgreSQL kopiert und so geändert werden, dass es an Ihrem Standort ausgeführt werden kann.

    Alternativ können Sie eine Datenbank, einen SDE-Benutzer und ein Schema manuell erstellen, anschließend das Geoverarbeitungswerkzeug Enterprise-Geodatabase aktivieren über einen Remote-Windows-Computer oder ein Python-Skript ausführen, das auf einem Linux-Computer die Funktion "EnableEnterpriseGeodatabase" aufruft, auf dem ArcGIS Engine mit Erweiterung "Geodatabase Update" oder ArcGIS for Server Enterprise (Standard oder Advanced) installiert ist.

Einrichten einer Geodatabase in PostgreSQL auf einem Windows-Server

Im Folgenden finden Sie eine Zusammenfassung der Schritte zur Erstellung einer Geodatabase in PostgreSQL unter Windows:

  1. Laden Sie eine unterstützte Version von PostgreSQL herunter, und installieren Sie diese. Konfigurieren Sie den Datenbank-Cluster.

    Sie können PostgreSQL-Installationen vom Esri Customer Care Portal herunterladen. Wenn Sie diese Installation verwenden, sind keine speziellen nicht standardmäßigen Einstellungen erforderlich, um PostgreSQL mit ArcGIS zu verwenden. Ändern Sie nur das Gebietsschema und den Speicherort, wenn Sie dafür nicht die Standardeinstellungen verwenden möchten.

    Sie können auch eine separate Installation von PostgreSQL nutzen. Lesen Sie die Dokumentation auf der PostgreSQL-Website bezüglich Anweisungen zum Installieren und Konfigurieren von PostgreSQL.

  2. Konfigurieren Sie den Datenbank-Cluster, so dass dieser Verbindungen akzeptiert.

    Hierzu müssen Sie u. a. die Datei "pg_hba.conf" so ändern, dass das Datenbank-Cluster Remote-Verbindungen zulässt.

  3. Installieren Sie den ArcGIS-Client, von dem aus Sie die Geodatabase erstellen.
  4. Laden Sie die PostgreSQL Client Libraries (bei einem ArcGIS-Client unter Windows) oder die RPM (bei einem ArcGIS-Client unter Linux) vom Esri Customer Care Portal herunter, und speichern Sie sie im Verzeichnis "Bin" des ArcGIS-Clients, den Sie im vorherigen Schritt installiert haben. Weitere Informationen finden Sie unter Einrichten einer Verbindung zu PostgreSQL.
  5. Kopieren Sie die Bibliothek "st_geometry" in das PostgreSQL-Installationsverzeichnis.

    Die für PostgreSQL 9.0 zu verwendende Datei "st_geometry.dll" befindet sich im Verzeichnis "DatabaseSupport" des ArcGIS-Client-Installationsverzeichnisses. Verschieben Sie die Datei "st_geometry.dell" vom ArcGIS-Client in das PostgreSQL-Verzeichnis "lib" auf dem PostgreSQL-Server.

    Wenn Sie eine Verbindung zu einer PostgreSQL 9.1-Datenbank herstellen möchten, verwenden Sie stattdessen die im 9.1-Verzeichnis enthaltene Bibliothek "st_geometry.dll".

    Wenn Sie eine Verbindung zu einer PostgreSQL 9.2-Datenbank herstellen möchten, verwenden Sie stattdessen die im 9.2-Verzeichnis enthaltene Bibliothek "st_geometry.dll".

    HinweisHinweis:

    Wenn Sie dem PostgreSQL-Ordner "lib" nicht die richtige Bibliothek "st_geometry.dll" hinzufügen, können Sie keine Geodatabase erstellen.

    Beachten Sie außerdem, das für "st_geometry.dll" das Microsoft Visual C++ 2008 SP1 Redistributable Package (x64) benötigt wird. Wenn dieses Paket auf dem PostgreSQL-Server nicht verfügbar ist, laden Sie es von der Microsoft-Site herunter, und installieren Sie es.

  6. Erstellen Sie im Datenbank-Cluster einen Tablespace, in dem die Datenbank gespeichert werden kann. Wenn Sie keinen Tablespace erstellen, wird der Tablespace "pg_default" verwendet.
  7. Erstellen Sie eine Datenbank, einen SDE-Benutzer und ein Schema sowie eine Geodatabase, indem Sie einen der folgenden Schritte ausführen:
    • Führen Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen von ArcGIS for Desktop (Standard aus.
    • Führen Sie ein Python-Skript über einen Computer aus, auf dem ArcGIS for Desktop (Standard oder Advanced), ArcGIS Engine mit der Erweiterung "Geodatabase Update" oder ArcGIS for Server Enterprise (Standard oder Advanced) ausgeführt wird. Ein Beispielskript kann aus Skriptdatenbank- und Geodatabase-Erstellung in PostgreSQL kopiert und so geändert werden, dass es an Ihrem Standort ausgeführt werden kann.

    Alternativ können Sie manuell eine Datenbank, einen sde-Benutzer und ein Schema erstellen. Führen Sie dann das Geoverarbeitungswerkzeug Enterprise Geodatabase aktivieren oder ein Python-Skript aus, um eine Geodatabase in der zuvor erstellten Datenbank zu erstellen.

Optionale weitere Einrichtung

Es gibt einige Szenarien, bei denen es erforderlich ist, zusätzliche Werkzeuge zu verwenden, um ein Geodatabase-Setup abzuschließen, z. B. wenn Sie einen ArcSDE-Dienst für Verbindungen verwenden möchten oder mehrere Geodatabases im selben PostgreSQL-Datenbank-Cluster benötigt werden. Informationen zum Erstellen von mehr als einer Geodatabase auf demselben Datenbank-Cluster finden Sie unter Mehrere Geodatabases in PostgreSQL.

Um einen ArcSDE-Dienst verwenden zu können, müssen Sie den ArcSDE-Anwendungsserver installieren und konfigurieren. Anweisungen hierzu finden Sie im Installationshandbuch, das mit dem ArcSDE-Anwendungsserver bereitgestellt wurde. Sie können die ArcSDE-Anwendungsserverinstallation vom Esri Customer Care Portal herunterladen.

Verwandte Themen

5/9/2014