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:

  • Actualizar el software de ArcGIS en la instancia de Amazon Elastic Compute Cloud (EC2) existente y actualizar la geodatabase.

    Si su geodatabase se encuentra en un clúster de base de datos de PostgreSQL en AWS, asegúrese de que su versión de PostgreSQL existente sea compatible con la versión más reciente del software de ArcGIS. Si no lo es, será necesario que también actualice el clúster de base de datos de PostgreSQL.

    Si su geodatabase ya se encuentra en Amazon Relational Database Service (RDS) for PostgreSQL, Amazon actualiza automáticamente la versión de PostgreSQL, por lo que solamente tiene que actualizar la geodatabase después de actualizar el software de ArcGIS.

  • Migrar contenido a una nueva geodatabase en una instancia de servicio de base de datos de Amazon.

    Este método requiere más tiempo, pero debe utilizarlo si va a actualizar desde una instancia de ArcGIS 10, ya que no existe ruta de actualización directa desde 10 a 11.2. También puede utilizar este método si desea migrar los datos desde un clúster de base de datos de PostgreSQL o una instancia de Microsoft SQL Server existentes a Amazon RDS for PostgreSQL o Amazon Aurora (PostgreSQL-compatible edition) para aprovechar las actualizaciones automáticas que Amazon aplica a estas instancias.

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 EC2 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 Amazon Machine Image, 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 esas versiones de PostgreSQL y el sistema operativo no sean compatibles con la versión actualizada de ArcGIS Server.

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.8 y desea actualizar a ArcGIS Server 11.2 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.

Si la versión del sistema operativo no es compatible con la nueva versión de PostgreSQL o ArcGIS Server, también debe actualizar la versión del sistema operativo o mover los datos a una nueva instancia y volver a publicar los servicios.

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 confirme que el usuario sde tiene los privilegios requeridos para actualizar.
  3. Inicie sesión en una de sus instancias EC2 de ArcGIS Server 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. Utilice stopserver.sh para detener ArcGIS Server.
  8. Ejecute la secuencia de comandos 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.

Nota:

No se puede actualizar directamente ArcGIS Server 10.6.1 ni versiones anteriores a 11.2. Primero debe actualizar a una versión intermedia y, a continuación, actualizar a 11.2.

Tenga en cuenta también que cualquier geodatabase de PostgreSQL creada inicialmente con ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 requerirá que actualice PostgreSQL a una versión compatible y que actualice el Ubuntu a una versión compatible. Es probable que tenga que actualizar cada uno de estos a una versión intermedia también. Por ejemplo, si va a actualizar un sitio de ArcGIS Server 10.5.1 con una geodatabase en PostgreSQL, actualice ArcGIS Server a 10.7.1 y actualice el sistema operativo y PostgreSQL a versiones compatibles con 10.7.1.

Cree siempre copias de seguridad de la base de datos y del sitio de antes de actualizar. Pruebe la actualización intermedia antes de proceder con la actualización a 11.2.

La forma de actualizar PostgreSQL depende de las versiones de PostgreSQL a las que actualice. Consulte la documentación de PostgreSQL para obtener instrucciones.

Una vez que haya actualizado PostgreSQL y Ubuntu a versiones compatibles, actualice ArcGIS Server, descargue el nuevo archivo st_geometry.so desde My Esri, coloque el archivo en el directorio PostgreSQL lib, detenga ArcGIS Server, ejecute una secuencia de comandos de Python para actualizar cada geodatabase y reinicie ArcGIS Server.

  1. Instale la nueva versión de ArcGIS Server en su instancia de EC2 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.

    Una forma de hacer una copia de seguridad de la geodatabase es realizar una instantánea del volumen EBS que contiene los datos. Consulte la documentación de Amazon Web Services para obtener instrucciones.

  3. Además, antes de actualizar, descargue el archivo st_geometry.so desde My Esri y reemplace el archivo 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 del directorio en el que lo descargó.
      cp /usr/downloads/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. Utilice stopserver.sh para detener ArcGIS Server.
  9. Ejecute la secuencia de comandos 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. Una vez actualizadas todas las geodatabases, utilice startserver.sh para reiniciar ArcGIS Server.

Actualizar las geodatabases en EGDBHOST

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).

Nota:

No se puede actualizar directamente ArcGIS Server 10.6.1 ni versiones anteriores a 11.2. Primero debe actualizar a una versión intermedia y, a continuación, actualizar a 11.2.

Cualquier geodatabase de PostgreSQL creada inicialmente con ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 o versiones anteriores requerirá que actualice PostgreSQL a una versión compatible y que actualice el sistema operativo Ubuntu a una versión compatible. Es probable que tenga que actualizar cada uno de estos a una versión intermedia también. Por ejemplo, si va a actualizar un sitio de ArcGIS Server 10.5.1 con una geodatabase en PostgreSQL, actualice ArcGIS Server a 10.7.1 y actualice el sistema operativo y PostgreSQL a versiones compatibles con 10.7.1.

Cree siempre una copia de seguridad de la base de datos y del sitio de antes de actualizar. Pruebe la actualización intermedia antes de proceder con la actualización a 11.2.

La forma de actualizar PostgreSQL depende de las versiones de PostgreSQL a las que actualice. Consulte la documentación de PostgreSQL para obtener instrucciones.

Después de actualizar PostgreSQL y Ubuntu, actualice ArcGIS Server en el SITEHOST, descargue el nuevo archivo st_geometry.so desde My Esri y colóquelo en el directorio PostgreSQL lib en EGDBHOST, detenga ArcGIS Server, ejecute una secuencia de comandos de Python desde SITEHOST para actualizar cada una de las geodatabases y, a continuación, reinicie ArcGIS Server.

  1. Instale la nueva versión de ArcGIS Server en su instancia de EC2 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.

    Una forma de hacer una copia de seguridad de la geodatabase es realizar una instantánea del volumen 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. Además, antes de actualizar, descargue el archivo st_geometry.so desde My Esri y colóquelo 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. Copie el archivo st_geometry.so del directorio donde descargó.
      cp /gisdata/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
    3. 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. Utilice stopserver.sh para detener ArcGIS Server.
  9. Ejecute la secuencia de comandos 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. Una vez actualizadas todas las geodatabases, utilice startserver.sh para reiniciar ArcGIS Server.

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

Si va a actualizar desde ArcGIS 10 en AWS o si desea evitar tener que actualizar y mantener PostgreSQL y el sistema operativo, mueva su contenido a una instancia de Amazon Relational Database Service (RDS) y vuelva a publicar los servicios. A continuación se resume esta migración: