Erstellen zusätzlicher Enterprise-Geodatabases in PostgreSQL

Wenn Ihre ArcGIS for Server-Site ein PostgreSQL-Datenbank-Cluster und Enterprise-Geodatabases enthält, können Sie mit einem Python-Skript, das das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen aufruft, weitere Enterprise-Geodatabases in PostgreSQL erstellen.

Zusätzliche Geodatabases können Sie beispielsweise aus folgenden häufigen Gründen erstellen:

Schritte:
  1. Erstellen Sie eine SSH-Verbindung mit der ArcGIS for Server-Site.
  2. Kopieren Sie das folgende Skript in einen Texteditor:
    #Import arcpy module
    import arcpy
    
    arcpy.CreateEnterpriseGeodatabase("PostgreSQL", "<aws instance name>", "<new geodatabase name>", "DATABASE_AUTH", "postgres", "<postgres password>", "", "sde", "<sde password>", "", "/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License10.1/sysgen/keycodes")
    
  3. Ändern Sie die Werte in spitzen Klammern (<>) so, dass sie mit den Informationen für Ihre Site übereinstimmen, und speichern Sie die Datei mit der Erweiterung ".py".
  4. Öffnen Sie eine Befehls-Shell, und legen Sie Umgebungsvariablen fest, die auf das Skript zeigen.
  5. Führen Sie das Skript aus, um die Geodatabase zu erstellen.

    Wenn die von Ihnen angegebenen Informationen richtig sind, erhalten Sie eine Meldung, die angibt, dass die Geodatabase erfolgreich erstellt wurde. Wenn Sie eine Fehlermeldung erhalten, stellen Sie sicher, dass Sie fehlerfreie Informationen angegeben haben (Sie z. B. die richtigen Kennwörter verwendet haben und der Name der Datenbank gültig ist).

    TippTipp:

    Überprüfen Sie die PostgreSQL-Protokolldatei unter "data/pg_log" auf ausführliche Fehlermeldungen.

  6. Nun ist eine neue Geodatabase vorhanden. Sie müssen der Datenbank Benutzerschemas für alle Anmelderollen hinzufügen, die Daten in der Geodatabase erstellen sollen.

  7. Kopieren Sie dieses Skript in einen Texteditor, um eine Verbindung zu der neuen Geodatabase herzustellen, und erstellen Sie eine Anmelderolle mit dem entsprechenden Schema. Alternativ dazu können Sie eine vorhandene Anmelderolle angeben, für die ein Schema in der Datenbank erstellt wird.
    #Import arcpy module
    import arcpy
    
    CreateDatabaseConnection_management("<path to directory where connection file to be created>", "<connection file name>.sde", "POSTGRESQL", "<aws instance name>", "DATABASE_AUTH", "postgres", "<postgres password>", "<geodatabase name>", "SAVE_USERNAME")
    
    CreateDatabaseUser_management("<path to directory with connection file>/<connection file name>.sde", "DB", "<login role name>", "<login password>")
    
  8. Ändern Sie die Werte in spitzen Klammern (<>) so, dass die Informationen zur Datenbank und zu den Anmelderollen für die Site übereinstimmen, und speichern Sie die Datei mit der Erweiterung ".py".

    Wenn beispielsweise die Standardanmelderolle "Besitzer" die Daten in der neuen Geodatabase erstellen soll, legen Sie die Anmelderolle des Besitzer im Skript fest.

  9. Öffnen Sie eine Befehls-Shell, und legen Sie Umgebungsvariablen fest, die auf das Skript zeigen.
  10. Führen Sie das Skript aus, um eine Anmelderolle und ein Schema (oder ein Schema für eine vorhandene Anmelderolle) zu erstellen.

    Das Skript erteilt der Öffentlichkeit USAGE-Berechtigungen für das Schema.

  11. Wiederholen Sie diesen Vorgang für jede Anmelderolle, die Daten in der neuen Geodatabase erstellt.

Verwandte Themen

9/12/2013