Skip To Content

Actualizar geodatabases de 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 AWS, realice una de las siguientes acciones:

  • Utilice Amazon Machine Image (AMI) de 10.6.1 para crear una instancia de ArcGIS Server 10.6.1 en Amazon Web Services (AWS), crear una geodatabase en la versión más reciente de PostgreSQL que se incluye con esta AMI, mover sus datos a la nueva geodatabase y volver a publicar servicios.

    Debe utilizar este método si va a actualizar a una instancia de ArcGIS 10.

  • Actualizar el software de ArcGIS en la instancia de AWS 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 se encuentra en Amazon Relational Database Services (RDS) para 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.

Sugerencia:

Si sus datos se encuentran en este momento en un clúster de base de datos de PostgreSQL en AWS y desea mover los datos a una instancia de Amazon RDS for PostgreSQL, puede crear una geodatabase en una instancia de Amazon RDS para PostgreSQL, mover los datos y volver a publicar servicios.

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

Crear una instancia de ArcGIS 10.6.1 en AWS y mover los datos desde una instancia más antigua

Para garantizar que obtiene la versión más reciente del software de ArcGIS, PostgreSQL y del sistema operativo sin tener que actualizarlos ni parchearlos, cree una instancia de ArcGIS Server para AWS a partir de la AMI más reciente de Esri, mueva los datos y vuelva a publicar los servicios. Consulte Las AMI de ArcGIS Server para obtener información sobre qué versiones de software y sistema operativo se incluyen en las últimas AMI de Esri.

Para obtener información sobre cómo mover los datos, consulte Estrategias para la transferencia de datos a Amazon Web Services.

En ArcGIS 10, existía una AMI de geodatabase corporativa independiente que contenía un clúster de base de datos de PostgreSQL 8.3.8 en Windows. Las AMI de ArcGIS Server que incluyen PostgreSQL ahora se ejecutan en Ubuntu Linux. No puede mover directamente de una base de datos de PostgreSQL en Windows a otra en Linux. Tampoco puede actualizar ArcGIS 10 Server a ArcGIS 10.1 for Server o versiones posteriores; por tanto, al migrar a las AMI de ArcGIS AWS actuales desde ArcGIS 10 Server for AWS, tendrá que mover o volver a cargar los datos y volver a publicar.

La versión de PostgreSQL incluida en las AMI de Ubuntu de Esri también ha cambiado con el tiempo, como se muestra en la siguiente tabla:

Versión de AMI de EsriVersión de PostgreSQL incluida

10.1

9.0.5

10.2

9.0.13

10.2.1 y 10.2.2

9.2.4

10.3

9.3.4

10.3.1

9.3.6

10.4.x

9.3.10

10.5.x

9.3.12

10.6.x

9.5.3

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

Tenga en cuenta que la manera en que actualice ArcGIS Server en AWS depende de cómo creó el sitio de ArcGIS Server.

  • Si utilizó ArcGIS Server Cloud Builder on Amazon Web Services para crear el sitio de ArcGIS Server y las geodatabases, siga las instrucciones de las dos secciones siguientes para actualizar el sitio y sus geodatabases. La primera sección describe la actualización si sus geodatabases están en la misma instancia de EC2 que ArcGIS Server. La segunda sección describe la actualización si sus geodatabases están en una instancia de EC2 diferente.
  • Si utilizó una plantilla de AWS CloudFormation proporcionada por Esri para crear un sitio de ArcGIS Server 10.6, puede utilizar la plantilla de CloudFormation actualizada para actualizar ArcGIS Server. Después de actualizar ArcGIS Server, siga las instrucciones de la tercera sección para actualizar la geodatabase en Amazon RDS para PostgreSQL.
  • Si creó un sitio de ArcGIS Server 10.5.1 o versiones anteriores con una plantilla de CloudFormation proporcionada por Esri, conéctese a sus instancias de AWS y actualice ArcGIS Server como lo haría con un sitio de ArcGIS Server implementado localmente. Siga los pasos de la tercera sección para actualizar la geodatabase en Amazon RDS para PostgreSQL.
  • Si creó su sitio a partir de la AMI de Esri con la Consola de administración de AWS, conéctese a sus instancias en AWS y actualice ArcGIS Server como lo haría con un sitio de ArcGIS Server implementado localmente. Si su geodatabase se encuentra en un clúster de base de datos de PostgreSQL en AWS, ejecute la herramienta Actualizar geodatabase a partir de un script de Python en uno de los equipos de ArcGIS Server para actualizar la geodatabase como lo haría con una geodatabase local. Si su geodatabase se encuentra en Amazon RDS para PostgreSQL, siga las instrucciones de la tercera sección para actualizar la geodatabase.

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 una secuencia de comandos de Python para actualizar cada geodatabase y reinicie ArcGIS Server.

  1. Instale la versión más reciente de ArcGIS Server en su instancia de AWS.
  2. Antes de actualizar las geodatabases, debe realizar copias de seguridad de las mismas. La forma más sencilla de hacerlo es hacer una copia de seguridad de Cloud Builder en su sitio (si ha creado el sitio con Cloud Builder) o crear una instantánea del volumen de EBS que contiene los datos. Si desea crear una instantánea del volumen de EBS, consulte la documentación de Amazon Web Services para ver las 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 de Amazon Web Services SITEHOST 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 en Python de actualización.

    vi upgrade.py

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

    Modifique la secuencia de comandos 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. Detenga ArcGIS Server.
    /arcgis/server/stopserver.sh
  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. 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

Si tiene un sitio de varios equipos, realice el paso 11 de Aplicar una actualización de ArcGIS a un sitio de varios equipos Ubuntu.

Actualizar geodatabases que están en su propia instancia de AWS (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 (EGDBHOST) dedicada.

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 una secuencia de comandos 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.
  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. Si desea crear una instantánea del volumen de EBS, consulte las instrucciones en la documentación de Amazon Web Services.
  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 desde 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 en Python de actualización.

    Por ejemplo:

    vi upgrade.py

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

    Modifique la secuencia de comandos 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. Detenga ArcGIS Server.
    /arcgis/server/stopserver.sh
  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 la secuencia de comandos 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 la secuencia de comandos upgrade.py 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

Si tiene un sitio de varios equipos, realice el paso 11 de Aplicar una actualización de ArcGIS a un sitio de varios equipos Ubuntu.

Actualizar geodatabases en Amazon RDS para PostgreSQL

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

  1. Asegúrese de contar con una copia de seguridad actual y fiable de su base de datos en Amazon RDS para PostgreSQL.
  2. Conéctese a Amazon RDS para PostgreSQL y confirme que se ha otorgado el rol de rds_superuser al usuario sde.
  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 la secuencia de comandos 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. Detenga ArcGIS Server.
    /arcgis/server/stopserver.sh
  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 Python y ejecute la secuencia de comandos 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.