Skip To Content

Aktualisieren von Geodatabases in PostgreSQL unter Amazon Web Services

Aktualisieren Sie die Geodatabases, um neue Funktionalität und Verbesserungen in der Geodatabase zu nutzen. Um eine Enterprise-Geodatabase in PostgreSQL unter Amazon Web Services (AWS) zu aktualisieren, führen Sie einen der folgenden Schritte aus:

In den folgenden Abschnitten werden Methoden zum Aktualisieren der Geodatabase auf die neueste Version beschrieben.

Upgrade der ArcGIS-Software auf der vorhandenen AWS-Instanz und Aktualisieren der Geodatabase

Sie können ein Upgrade von ArcGIS Server auf Ihrer vorhandenen Instanz durchführen, die Geodatabase in PostgreSQL aktualisieren und die vorhandenen Daten und Services weiterverwenden. Beachten Sie jedoch, dass dies bedeutet, dass die Version des Betriebssystems und der anderen Software beibehalten wird, die sie jeweils zum Zeitpunkt der Erstellung aufwiesen. Wenn Sie Ihre Instanz beispielsweise über ArcGIS Server 10.2.2 für ein AWS-AMI erstellt haben, verwenden Sie weiterhin eine PostgreSQL 9.2.4-Datenbank unter dem Betriebssystem Ubuntu 12.04. Abhängig von der Zielversion des Upgrades von ArcGIS Server ist diese Version von PostgreSQL möglicherweise nicht kompatibel.

Wenn die auf Ihrer Instanz vorhandene PostgreSQL-Version nicht mit der neuen Version von ArcGIS Server kompatibel ist, müssen Sie für PostgreSQL ebenfalls ein Upgrade auf eine unterstützte Version durchführen. Wenn Sie beispielsweise eine ArcGIS 10.3-Instanz gestartet haben und auf dieser Instanz ein Upgrade auf ArcGIS Server 10.9.1 durchführen möchten, müssen Sie für PostgreSQL ebenfalls ein Upgrade auf eine unterstützte Version durchführen. Informationen zum Durchführen eines Upgrades von PostgreSQL finden Sie in der PostgreSQL-Dokumentation.

Die Vorgehensweise beim Durchführen eines Upgrades von ArcGIS Server unter AWS hängt davon ab, wie Sie die ArcGIS Server-Site erstellt haben. Informationen zum Durchführen eines Upgrades für ArcGIS Server unter AWS finden Sie unter ArcGIS-Upgrades unter Amazon Web Services. Befolgen Sie nach dem Upgrade von ArcGIS Server die Anweisungen zum Aktualisieren der Geodatabase unter Amazon RDS for PostgreSQL.

Wenn Sie die ArcGIS Server-Site und die Geodatabases mit ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 oder einer älteren Version erstellt haben, befolgen Sie die Anweisungen für den entsprechenden PostgreSQL-Speicherort: Es handelt es sich entweder um die SITEHOST-Instanz oder die EGDBHOST-Instanz.

Aktualisieren von Geodatabases unter Amazon RDS for PostgreSQL

Nachdem Sie das Upgrade der ArcGIS Server-Site unter AWS durchgeführt haben, führen Sie diese Schritte aus, um Geodatabases in Amazon RDS for PostgreSQL zu aktualisieren.

  1. Vergewissern Sie sich, dass Sie über eine aktuelle, zuverlässige Sicherung der Datenbank in Amazon RDS for PostgreSQL verfügen.
  2. Stellen Sie eine Verbindung zu Amazon RDS for PostgreSQL her, und aktualisieren Sie die Berechtigungen des SDE-Benutzers folgendermaßen:
    1. Gewähren Sie dem SDE-Benutzer die Rolle "rds_superuser".
    2. Dem SDE-Benutzer müssen sämtliche Rollen zugewiesen werden, die Daten in der Geodatabase besitzen.

    Widerrufen Sie die Rollen des SDE-Benutzers, nachdem die Geodatabase aktualisiert wurde.

  3. Melden Sie sich bei einer der ArcGIS Server-Instanzen unter AWS als ArcGIS-Benutzer an.
  4. Öffnen Sie einen Texteditor, um ein Python-Skript zum Aktualisieren der Geodatabase zu erstellen.

    Beispiel:

    vi upgrade.py

  5. Kopieren Sie das folgende Skript in einen Texteditor.

    Ändern Sie das Skript, um für Ihre Site spezifische Informationen zu verwenden, darunter der Instanzname, das sde-Kennwort, der Name der Verbindungsdatei und der Datenbankname.

    #Import arcpy module
    import arcpy
    
    # Create connection file
    arcpy.CreateDatabaseConnection_management("/tmp","egdbrds_connection.sde","POSTGRESQL","my_db_instance_identifier.awsregion_id.rds.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb")
    # Upgrade geodatabase
    arcpy.UpgradeGDB_management("/tmp/egdbrds_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")

    Weitere Informationen zur Syntax des Werkzeugs finden Sie unter Erstellen einer Datenbankverbindung und Aktualisieren der Geodatabase.

  6. Speichern Sie die Datei, und schließen Sie den Texteditor.
  7. Beenden Sie ArcGIS Server.
    /arcgis/server/stopserver.sh
  8. Führen Sie das Skript in Python aus.

    /arcgis/server/tools/python <path to the file>/upgrade.py

    Falls die Aktualisierung fehlschlägt, werden Informationen in die Datei GDBUpgrade.log unter /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> geschrieben.

  9. Um sicherzustellen, dass die Geodatabase aktualisiert wurde, öffnen Sie ein Python-Befehlsfenster und führen folgende Befehle aus, wobei Sie /tmp/egdbrds_connection.sde durch den Speicherort und den Namen Ihrer Verbindungsdatei ersetzen.

    Öffnen Sie zunächst eine arcpy-Eingabeaufforderung.

    cd /arcgis/server/tools
    ./python

    Verwenden Sie isCurrent, um zu ermitteln, ob die Geodatabase auf die aktuelle Version aktualisiert wurde.

    import arcpy
    
    isCurrent = arcpy.Describe('/tmp/egdbrds_connection.sde').currentRelease
    
    print isCurrent

    Wenn print isCurrent den Wert True zurückgibt, ist die Geodatabase aktualisiert.

  10. Zum Beenden der arcpy-Eingabeaufforderung geben Sie quit() ein.
  11. Ändern Sie das Skript upgrade.py, und führen Sie es erneut für jede Geodatabase aus, die aktualisiert werden soll.

Aktualisieren der Geodatabases auf SITEHOST

Wenn Sie die ArcGIS Server-Site und die Geodatabases mit ArcGIS Server Cloud Builder on Amazon Web Services erstellt haben, befolgen Sie die Schritte in diesem Abschnitt, um die Geodatabases in einem PostgreSQL-Datenbank-Cluster zu aktualisieren, die sich auf derselben Instanz wie der ArcGIS Server-SITEHOST befinden.

Führen Sie das ArcGIS Server-Upgrade durch, verschieben Sie die neue st_geometry.so-Datei in das PostgreSQL-Verzeichnis lib, beenden Sie ArcGIS Server, führen Sie ein Python-Skript aus, um die einzelnen Geodatabases zu aktualisieren, und starten Sie ArcGIS Server neu.

  1. Installieren Sie die neue ArcGIS Server-Version auf Ihrer AWS-Instanz, und führen Sie das Upgrade auf dieselbe Weise wie für eine lokale ArcGIS Server-Site durch.

    Die Upgrade-Anweisungen finden Sie in der Installationsanweisung für ArcGIS Server.

  2. Bevor Sie die Geodatabases aktualisieren, müssen Sie Sicherungskopien von diesen erstellen. Die einfachste Möglichkeit besteht darin, einen Snapshot des EBS-Volumes zu erstellen, das Ihre Daten enthält. Anweisungen dazu finden Sie in der Amazon Web Services-Dokumentation.
  3. Vor der Aktualisierung müssen Sie außerdem die st_geometry.so-Datei von /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 nach /usr/lib/postgresql/<postgresql version>/lib kopieren.
    1. Die st_geometry.so-Datei ist im Besitz des Root-Benutzers. Wechseln Sie daher zum Root-Benutzer, sobald Sie eine Verbindung zur Amazon Web Services SITEHOST-Instanz als ubuntu hergestellt haben:
      sudo su -
      Hinweis:

      Beachten Sie, dass Sie keine Verbindung als arcgis-Benutzer herstellen und zum Root-Benutzer wechseln können.

    2. Bevor Sie die neue Datei kopieren, benennen Sie die alte um.
      mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
    3. Kopieren Sie die neue st_geometry.so-Datei.
      cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib
    4. Ändern Sie die Berechtigungen für die st_geometry.so-Datei, um anderen Benutzern das Lesen und Ausführen der Datei zu erlauben.
      chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
  4. Wechseln Sie zum Benutzer "arcgis".
    su - arcgis
  5. Öffnen Sie einen Texteditor, um das Python-Aktualisierungsskript zu erstellen.

    vi upgrade.py

  6. Kopieren Sie das folgende Skript in einen Texteditor.

    Ändern Sie das Skript, um für Ihre Site spezifische Informationen zu verwenden, darunter der Instanzname, das sde-Kennwort, der Name der Verbindungsdatei und der Datenbankname.

    #Import arcpy module
    import arcpy
    
    # Create connection file
    arcpy.CreateDatabaseConnection_management("/tmp","egdb_connection.sde","POSTGRESQL","ec2-123-456-789-100.compute-1.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb")
    # Upgrade geodatabase
    arcpy.UpgradeGDB_management("/tmp/egdb_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")

    Weitere Informationen zur Syntax des Werkzeugs finden Sie unter Erstellen einer Datenbankverbindung und Aktualisieren der Geodatabase.

  7. Speichern Sie die Datei, und schließen Sie den Texteditor.
  8. Beenden Sie ArcGIS Server.
    /arcgis/server/stopserver.sh
  9. Führen Sie das Skript in Python aus.

    /arcgis/server/tools/python <path to the file>/upgrade.py

    Möglicherweise werden mehrere Meldungen zu Typreferenzen angezeigt. Diese können ignoriert werden, sie sind kein Hinweis darauf, dass die Aktualisierung fehlgeschlagen ist.

    Wenn die Aktualisierung nicht durchgeführt werden kann, werden Informationen in die Datei GDBUpgrade.log unter /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> geschrieben.

  10. Führen Sie folgende Befehle in Python aus, um sicherzustellen, dass Ihre Geodatabase aktualisiert wird. Ersetzen Sie /tmp/egdb_connection.sde durch den Speicherort und den Namen Ihrer Verbindungsdatei.

    Öffnen Sie zunächst eine arcpy-Eingabeaufforderung.

    cd /arcgis/server/tools
    ./python

    Verwenden Sie isCurrent, um zu ermitteln, ob die Geodatabase auf die aktuelle Version aktualisiert wurde.

    import arcpy
    
    isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease
    
    print isCurrent

    Wenn print isCurrent den Wert True zurückgibt, ist die Geodatabase aktualisiert.

  11. Zum Beenden der arcpy-Eingabeaufforderung geben Sie quit() ein.
  12. Ändern Sie das Skript, und führen Sie es erneut für jede Geodatabase aus, die aktualisiert werden soll.
  13. Falls Sie für PostgreSQL ein Upgrade auf eine unterstützte Version durchführen müssen, erstellen Sie eine Datenbanksicherung, und fahren Sie mit dem Upgrade von PostgreSQL fort. Die Vorgehensweise beim Upgrade von PostgreSQL hängt von den PostgreSQL-Versionen ab, von denen und auf die Sie das Upgrade durchführen. Anweisungen dazu finden Sie in der PostgreSQL-Dokumentation.
  14. Nachdem alle Geodatabases (und ggf. Datenbanken) aktualisiert wurden, starten Sie ArcGIS Server neu.

    /arcgis/server/startserver.sh

Aktualisieren der Geodatabases auf EGDBHOST

Wenn Sie die ArcGIS Server-Site und die Geodatabases mit ArcGIS Server Cloud Builder on Amazon Web Services erstellt haben, führen Sie die Schritte in diesem Abschnitt aus, um Geodatabases in PostgreSQL zu aktualisieren, die sich auf einer eigenen, dedizierten AWS-Instanz (EGDBHOST) befinden.

Aktualisieren Sie ArcGIS Server auf dem SITEHOST, verschieben Sie die neue st_geometry.so-Datei von SITEHOST in das PostgreSQL-Verzeichnis lib auf EGDBHOST, beenden Sie ArcGIS Server, führen Sie ein Python-Skript über SITEHOST aus, um die einzelnen Geodatabases zu aktualisieren, und starten Sie ArcGIS Server neu.

  1. Installieren Sie die neue ArcGIS Server-Version auf Ihrer AWS-Instanz, und führen Sie das Upgrade auf dieselbe Weise wie für eine lokale ArcGIS Server-Site durch.

    Die Upgrade-Anweisungen finden Sie in der Installationsanweisung für ArcGIS Server.

  2. Bevor Sie die Geodatabases aktualisieren, müssen Sie Sicherungskopien von diesen erstellen. Die einfachste Möglichkeit besteht darin, einen Snapshot des EBS-Volumes zu erstellen, das Ihre Daten enthält. Weitere Anweisungen zum Erstellen eines Snapshots eines EBS-Volume finden Sie in der Amazon Web Services-Dokumentation.
  3. Vor der Aktualisierung müssen Sie außerdem die st_geometry.so-Datei von /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 nach /usr/lib/postgresql/<postgresql version>/lib kopieren.
    1. Bevor Sie die neue Datei kopieren, benennen Sie die alte auf EGDBHOST um. Da die st_geometry.so-Datei im Besitz des Root-Benutzers ist, melden Sie sich bei EGDBHOST als ubuntu an und wechseln dann zum Root-Benutzer.
      sudo su -
      
      mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
    2. Sie müssen die st_geometry.so-Datei von /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 auf SITEHOST nach /usr/lib/postgresql/<postgresql version>/lib auf EGDBHOST verschieben.

      Da derselbe Benutzer nicht auf die beiden Quell- und Zielverzeichnisse der verschiedenen Instanzen zugreifen kann, melden Sie sich bei SITEHOST als arcgis-Benutzer an, und kopieren Sie die Datei in das "gisdata"-Verzeichnis auf EGDBHOST.

      cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /net/EGDBHOST/gisdata/st_geometry.so
    3. Melden Sie sich bei EGDBHOST als ubuntu an.
    4. Melden Sie sich als Root-Benutzer an.
      sudo su -
    5. Kopieren Sie die st_geometry.so-Datei von gisdata nach /usr/lib/postgresql/<postgresql version>/lib.
      cp /gisdata/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
    6. Ändern Sie die Berechtigungen für die st_geometry.so-Datei, um anderen Benutzern das Lesen und Ausführen der Datei zu erlauben.
      chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
  4. Melden Sie sich bei SITEHOST als arcgis-Benutzer an.
  5. Öffnen Sie einen Texteditor, um das Python-Aktualisierungsskript zu erstellen.

    Beispiel:

    vi upgrade.py

  6. Kopieren Sie das folgende Skript in einen Texteditor.

    Ändern Sie das Skript, um für Ihre Site spezifische Informationen zu verwenden, darunter der Instanzname, das sde-Kennwort, der Name der Verbindungsdatei und der Datenbankname.

    #Import arcpy module
    import arcpy
    
    # Create connection file
    arcpy.CreateDatabaseConnection_management("/tmp","egdb_connection.sde","POSTGRESQL","ec2-123-456-789-100.compute-1.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb")
    # Upgrade geodatabase
    arcpy.UpgradeGDB_management("/tmp/egdb_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")

    Weitere Informationen zur Syntax des Werkzeugs finden Sie unter Erstellen einer Datenbankverbindung und Aktualisieren der Geodatabase.

  7. Speichern Sie die Datei, und schließen Sie den Texteditor.
  8. Beenden Sie ArcGIS Server.
    /arcgis/server/stopserver.sh
  9. Führen Sie das Skript in Python aus.

    /arcgis/server/tools/python <path to the file>/upgrade.py

    Möglicherweise werden mehrere Meldungen zu Typreferenzen angezeigt. Sie können diese Meldungen ignorieren.

    Falls die Aktualisierung fehlschlägt, werden Informationen in die Datei GDBUpgrade.log unter /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> geschrieben.

  10. Um sicherzustellen, dass die Geodatabase aktualisiert wurde, öffnen Sie Python und führen folgende Befehle aus, wobei Sie /tmp/egdb_connection.sde durch den Speicherort und den Namen Ihrer Verbindungsdatei ersetzen.

    Öffnen Sie zunächst eine arcpy-Eingabeaufforderung.

    cd /arcgis/server/tools
    ./python

    Verwenden Sie isCurrent, um zu ermitteln, ob die Geodatabase auf die aktuelle Version aktualisiert wurde.

    import arcpy
    
    isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease
    
    print isCurrent

    Wenn print isCurrent den Wert True zurückgibt, ist die Geodatabase aktualisiert.

  11. Zum Beenden der arcpy-Eingabeaufforderung geben Sie quit() ein.
  12. Ändern Sie das Skript upgrade.py, und führen Sie es erneut für jede Geodatabase aus, die aktualisiert werden soll.
  13. Falls Sie für PostgreSQL ein Upgrade auf eine unterstützte Version durchführen müssen, erstellen Sie eine Datenbanksicherung, und fahren Sie mit dem Upgrade von PostgreSQL fort. Die Vorgehensweise beim Upgrade von PostgreSQL hängt von den PostgreSQL-Versionen ab, von denen und auf die Sie das Upgrade durchführen. Anweisungen dazu finden Sie in der PostgreSQL-Dokumentation.
  14. Nachdem alle Geodatabases (und ggf. Datenbanken) aktualisiert wurden, starten Sie ArcGIS Server neu.

    /arcgis/server/startserver.sh

Migrieren von Inhalten in eine Geodatabase der Version 10.9.1 in einer Amazon-Datenbank-Service-Instanz

Gehen Sie wie folgt vor, um sicherzustellen, dass Sie die aktuelle Version von PostgreSQL erhalten, oder wenn Sie ein Upgrade von ArcGIS 10 unter AWS durchführen: