Skip To Content

Actualizar geodatabases en PostgreSQL en Amazon Web Services

Actualice sus geodatabases para beneficiarse de las nuevas funcionalidades y mejoras que se han implementado en la geodatabase. Para actualizar una geodatabase corporativa en PostgreSQL en Amazon Web Services (AWS), realice una de las siguientes acciones:

En las secciones siguientes se describen métodos para que la geodatabase esté en el estado más reciente posible.

Actualizar el software de ArcGIS en la instancia de AWS existente y actualizar la geodatabase

Puede actualizar ArcGIS Server en su instancia existente, actualizar su geodatabase en PostgreSQL y continuar utilizando sus datos y servicios existentes. No obstante, tenga en cuenta que esto significa que el sistema operativo y el resto del software de la instancia permanecen en la versión en que estaban cuando creó la instancia. Por ejemplo, si creó la instancia desde una AMI de ArcGIS Server 10.2.2 for AWS, seguirá utilizando una base de datos PostgreSQL 9.2.4 en un sistema operativo Ubuntu 12.04. En función de la versión de ArcGIS Server a la que actualice, es posible que la versión de PostgreSQL no sea compatible.

Si la versión de PostgreSQL existente en su instancia no es compatible con la nueva versión de ArcGIS Server, también tiene que actualizar PostgreSQL a una versión compatible. Por ejemplo, si ha iniciado una instancia de ArcGIS 10.3 y desea actualizar a ArcGIS Server 10.9.1 en dicha instancia, también debe actualizar PostgreSQL a una versión compatible. Consulte la documentación de PostgreSQL para obtener más información sobre la actualización de PostgreSQL.

La forma de actualizar ArcGIS Server en AWS depende de cómo haya creado el sitio de ArcGIS Server. Consulte Actualizaciones de ArcGIS en Amazon Web Services para obtener información sobre cómo actualizar ArcGIS Server en AWS. Después de actualizar ArcGIS Server, siga las instrucciones para actualizar la geodatabase en Amazon RDS for PostgreSQL.

Si utilizó ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 o versiones anteriores para crear el sitio de ArcGIS Server y las geodatabases, consulte las instrucciones adecuadas a la ubicación de PostgreSQL: las instancias SITEHOST o EGDBHOST.

Actualizar geodatabases en Amazon RDS for PostgreSQL

Después de actualizar su sitio de ArcGIS Server en AWS, siga estos pasos para actualizar geodatabases en Amazon RDS for PostgreSQL.

  1. Asegúrese de contar con una copia de seguridad actual y fiable de su base de datos en Amazon RDS for PostgreSQL.
  2. Conéctese a Amazon RDS for PostgreSQL y actualice los privilegios de usuario SDE de la siguiente manera:
    1. Otorgue al usuario SDE el rol rds_superuser.
    2. Al usuario SDE se le deben otorgar todos los roles que poseen datos en la geodatabase.

    Revoque estos roles al usuario SDE después de actualizar la geodatabase.

  3. Inicie sesión en una de sus instancias de ArcGIS Server en AWS como usuario arcgis.
  4. Abra un editor de texto para crear un script de Python para actualizar su geodatabase.

    Por ejemplo:

    vi upgrade.py

  5. Copie la siguiente secuencia de comandos en un editor de texto.

    Modifique el script para usar información específica en su sitio, por ejemplo el nombre de instancia, la contraseña de sde, el nombre y la ubicación del archivo de conexión, y el nombre de la base de datos.

    #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")

    Consulte Crear conexión de base de datos y Actualizar geodatabase para obtener más información sobre la sintaxis de la herramienta.

  6. Guarde el archivo y cierre el editor de texto.
  7. Detener ArcGIS Server.
    /arcgis/server/stopserver.sh
  8. Ejecutar el script en Python.

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

    Si se produce un error durante la actualización, la información se registra en GDBUpgrade.log en /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#>.

  9. Para asegurarse de que la geodatabase se ha actualizado, abra una ventana de comandos de Python y ejecute el script siguiente, sustituyendo /tmp/egdbrds_connection.sde por el nombre y la ubicación de su archivo de conexión.

    Primero, abra un símbolo del sistema con arcpy.

    cd /arcgis/server/tools
    ./python

    Use isCurrent para determinar si la geodatabase está actualizada a la versión actual.

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

    Si print isCurrent devuelve True, la geodatabase está actualizada.

  10. Para salir del símbolo del sistema con arcpy, escriba quit().
  11. Modifique el script de upgrade.py y vuelva a ejecutarlo para cada una de las geodatabases que necesite actualizar.

Actualizar las geodatabases en SITEHOST

Si creó su sitio de ArcGIS Server y las geodatabases con ArcGIS Server Cloud Builder on Amazon Web Services, siga los pasos de esta sección para actualizar geodatabases en un clúster de base de datos de PostgreSQL que se encuentra en la misma instancia que SITEHOST de ArcGIS Server.

Actualice ArcGIS Server, mueva el nuevo archivo st_geometry.so al directorio lib de PostgreSQL, detenga ArcGIS Server, ejecute un script de Python para actualizar cada geodatabase y reinicie ArcGIS Server.

  1. Instale la nueva versión de ArcGIS Server en su instancia de AWS y actualice como lo haría en un sitio de ArcGIS Server local.

    Consulte la Guía de instalación de ArcGIS Server para obtener instrucciones de actualización:

  2. Antes de actualizar las geodatabases, debe realizar copias de seguridad de las mismas. La forma más fácil de realizar este proceso es crear una instantánea del volumen de EBS que contiene los datos. Consulte la documentación de Amazon Web Services para obtener instrucciones.
  3. Asimismo, antes de llevar a cabo la actualización, debe copiar el archivo st_geometry.so desde /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 en /usr/lib/postgresql/<postgresql version>/lib.
    1. El archivo st_geometry.so es propiedad de la raíz; por tanto, después de conectar a la instancia SITEHOST de Amazon Web Services como ubuntu, cambie los usuarios a la raíz:
      sudo su -
      Nota:

      Tenga en cuenta que no puede conectarse como el usuario arcgis y cambiar al usuario raíz.

    2. Antes de copiar el nuevo archivo, renombre el antiguo.
      mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
    3. Copie el nuevo archivo st_geometry.so.
      cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib
    4. Cambie los permisos en el archivo st_geometry.so para que otros usuarios puedan leerlo y ejecutarlo.
      chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
  4. Cambie al usuario arcgis.
    su - arcgis
  5. Abra un editor de texto para crear la secuencia de comandos de actualización de Python.

    vi upgrade.py

  6. Copie la siguiente secuencia de comandos en un editor de texto.

    Modifique el script para usar información específica en su sitio, por ejemplo el nombre de instancia, la contraseña de sde, el nombre y la ubicación del archivo de conexión, y el nombre de la base de datos.

    #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")

    Consulte Crear conexión de base de datos y Actualizar geodatabase para obtener más información sobre la sintaxis de la herramienta.

  7. Guarde el archivo y cierre el editor de texto.
  8. Detener ArcGIS Server.
    /arcgis/server/stopserver.sh
  9. Ejecutar el script en Python.

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

    Es probable que vea varias observaciones acerca de las referencias de tipo. Puede hacer caso omiso de ellas; no indican ningún error en la actualización.

    La información se registra en el GDBUpgrade.log en /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> si se produce un error durante la actualización.

  10. Ejecute lo siguiente en Python para asegurarse de que la geodatabase se ha actualizado. Sustituya /tmp/egdb_connection.sde por el nombre y la ubicación de su archivo de conexión.

    Primero, abra un símbolo del sistema con arcpy.

    cd /arcgis/server/tools
    ./python

    Use isCurrent para determinar si la geodatabase está actualizada a la versión actual.

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

    Si print isCurrent devuelve True, la geodatabase está actualizada.

  11. Para salir del símbolo del sistema con arcpy, escriba quit().
  12. Modifique la secuencia de comandos y vuelva a ejecutarla para cada una de las geodatabases que necesite actualizar.
  13. Si necesita actualizar PostgreSQL a una versión compatible, cree una copia de seguridad de la base de datos y continúe actualizando PostgreSQL. La forma de actualizar PostgreSQL depende de las versiones de PostgreSQL a las que actualice. Consulte la documentación de PostgreSQL para obtener instrucciones.
  14. Una vez actualizadas todas las geodatabases (y bases de datos en caso necesario), reinicie ArcGIS Server.

    /arcgis/server/startserver.sh

Actualizar las geodatabases en SITEHOST

Si creó su sitio de ArcGIS Server y las geodatabases con ArcGIS Server Cloud Builder on Amazon Web Services, siga los pasos de esta sección para actualizar las geodatabases en PostgreSQL que están en su propia instancia de AWS dedicada (EGDBHOST).

Actualice ArcGIS Server en el SITEHOST, mueva el nuevo archivo st_geometry.so desde SITEHOST al directorio lib de PostgreSQL en EGDBHOST, detenga ArcGIS Server, ejecute un script de Python desde SITEHOST para actualizar cada geodatabase y reinicie ArcGIS Server.

  1. Instale la nueva versión de ArcGIS Server en su instancia de AWS y actualice como lo haría en un sitio de ArcGIS Server local.

    Consulte la Guía de instalación de ArcGIS Server para obtener instrucciones de actualización:

  2. Antes de actualizar las geodatabases, debe realizar copias de seguridad de las mismas. La forma más fácil de realizar este proceso es crear una instantánea del volumen de EBS que contiene los datos. Consulte la documentación de Amazon Web Services para obtener instrucciones sobre cómo crear una instantánea de un volumen de EBS.
  3. Asimismo, antes de llevar a cabo la actualización, debe copiar el archivo st_geometry.so desde /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 en /usr/lib/postgresql/<postgresql version>/lib.
    1. Antes de copiar el nuevo archivo, renombre el antiguo en EGDBHOST. Dado que el archivo st_geometry.so es propiedad del usuario raíz, inicie sesión en EGDBHOST como ubuntu y cambie al usuario raíz.
      sudo su -
      
      mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
    2. Debe mover el archivo st_geometry.so de /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 en SITEHOST a /usr/lib/postgresql/<postgresql version>/lib en EGDBHOST.

      Dado que los dos directorios de origen y destino en las diferentes instancias no son accesibles por el mismo usuario, inicie una sesión en SITEHOST como usuario arcgis y copie el archivo en directorio gisdata en EGDBHOST.

      cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /net/EGDBHOST/gisdata/st_geometry.so
    3. Inicie una sesión en EGDBHOST como ubuntu.
    4. Cambie al usuario raíz.
      sudo su -
    5. Copie el archivo st_geometry.so de gisdata a /usr/lib/postgresql/<postgresql version>/lib.
      cp /gisdata/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
    6. Cambie los permisos en el archivo st_geometry.so para que otros usuarios puedan leerlo y ejecutarlo.
      chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
  4. Inicie una sesión en SITEHOST como usuario arcgis.
  5. Abra un editor de texto para crear la secuencia de comandos de actualización de Python.

    Por ejemplo:

    vi upgrade.py

  6. Copie la siguiente secuencia de comandos en un editor de texto.

    Modifique el script para usar información específica en su sitio, por ejemplo el nombre de instancia, la contraseña de sde, el nombre y la ubicación del archivo de conexión, y el nombre de la base de datos.

    #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")

    Consulte Crear conexión de base de datos y Actualizar geodatabase para obtener más información sobre la sintaxis de la herramienta.

  7. Guarde el archivo y cierre el editor de texto.
  8. Detener ArcGIS Server.
    /arcgis/server/stopserver.sh
  9. Ejecutar el script en Python.

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

    Es probable que vea varias observaciones acerca de las referencias de tipo. Puede hacer caso omiso de esos mensajes.

    Si se produce un error durante la actualización, la información se registra en GDBUpgrade.log en /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#>.

  10. Para asegurarse de que la geodatabase se ha actualizado, abra Python y ejecute el script siguiente, sustituyendo /tmp/egdb_connection.sde por el nombre y la ubicación de su archivo de conexión.

    Primero, abra un símbolo del sistema con arcpy.

    cd /arcgis/server/tools
    ./python

    Use isCurrent para determinar si la geodatabase está actualizada a la versión actual.

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

    Si print isCurrent devuelve True, la geodatabase está actualizada.

  11. Para salir del símbolo del sistema con arcpy, escriba quit().
  12. Modifique el script de upgrade.py y vuelva a ejecutarlo para cada una de las geodatabases que necesite actualizar.
  13. Si necesita actualizar PostgreSQL a una versión compatible, cree una copia de seguridad de la base de datos y continúe actualizando PostgreSQL. La forma de actualizar PostgreSQL depende de las versiones de PostgreSQL a las que actualice. Consulte la documentación de PostgreSQL para obtener instrucciones.
  14. Una vez actualizadas todas las geodatabases (y bases de datos en caso necesario), reinicie ArcGIS Server.

    /arcgis/server/startserver.sh

Migrar contenido a una geodatabase 10.9.1 en una instancia de servicio de base de datos de Amazon

Para asegurarse de obtener la versión más reciente de PostgreSQL, o si va a actualizar desde ArcGIS 10 en AWS, realice lo siguiente: