Skip To Content

Actualizar geodatabases de PostgreSQL en Amazon Web Services

Para actualizar la funcionalidad de la geodatabase, puede crear una instancia de ArcGIS Server 10.5.1 for Amazon Web Services (AWS), mover los datos a la nueva geodatabase y volver a publicar los servicios, o puede actualizar el software de ArcGIS en la instancia de AWS existente y actualizar la geodatabase.

En las secciones siguientes se describen métodos para que la geodatabase esté en el estado más reciente posible y se indica cuando se utilizará cada método.

Crear una instancia de ArcGIS 10.5.1 for AWS y mover los datos desde una instancia más antigua

La forma más sencilla de obtener las últimas versiones de ArcGIS y PostgreSQL es crear una instancia de ArcGIS Server for AWS desde la última Amazon Machine Image (AMI), mover los datos y volver 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 el movimiento de datos, consulte la sección "Opciones para la transferencia de datos a la nube" en Estrategias para la transferencia de datos a Amazon Web Services.

Si utiliza una instancia de ArcGIS Server 10 AWS con datos en PostgreSQL, debe utilizar este método para actualizar la geodatabase. Además, si desea trasladar los datos a una instancia de Amazon Relational Database Service (RDS) for PostgreSQL, debe crear nuevas instancias, trasladar los datos y volver a publicar los servicios.

Pasar de una instancia 10 a una instancia actual

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.

Pasar de una instancia 10.1, 10.2.x, 10.3.x, 10.4.x a una instancia 10.5

La versión de PostgreSQL incluida en las AMI de ArcGIS ha cambiado con el tiempo. La tabla siguiente enumera las versiones de PostgreSQL incluidas con cada AMI de Linux.

ArcGIS Server (Linux) con PostgreSQL AMIVersión de PostgreSQL incluida

ArcGIS 10.1

9.0.5

ArcGIS 10.2

9.0.13

ArcGIS 10.2.1 y 10.2.2

9.2.4

ArcGIS 10.3

9.3.4

ArcGIS 10.3.1

9.3.6

ArcGIS 10.4.x

9.3.10

ArcGIS 10.5

9.3.12

Si desea utilizar PostgreSQL 9.3.12, puede mover los datos a ArcGIS Server 10.5 for AWS. PostgreSQL ya no admite las versiones 9.0.x de su sistema de administración de bases de datos, así que debe iniciar una nueva instancia y mover los datos o actualizar PostgreSQL en la instancia existente. Siga las instrucciones de la documentación de PostgreSQL para actualizar PostgreSQL.

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

Puede instalar la última versión de ArcGIS Server en la instancia existente, actualizar la geodatabase en PostgreSQL y seguir utilizando los datos y servicios existentes si la versión de ArcGIS Server que instala es compatible con la versión de PostgreSQL en su instancia. 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.

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.2 y desea actualizar a ArcGIS Server 10.5 en dicha instancia, también debe actualizar PostgreSQL a una versión compatible.

En las dos secciones siguientes se explica cómo actualizar una geodatabase de PostgreSQL en una instancia de ArcGIS Server AWS existente. (Estas instrucciones no se aplican a geodatabases de Amazon RDS for PostgreSQL).

Actualizar ArcGIS Server en una instancia de AWS existente y actualizar geodatabases en SITEHOST

Si desea actualizar una instancia de ArcGIS Server for AWS, siga los pasos que se indican en esta sección para actualizar las geodatabases de PostgreSQL que residen en la misma instancia que el 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 ArcGIS Server en una instancia de AWS existente y actualizar geodatabases que están en su propia instancia de AWS (EGDBHOST)

Si desea actualizar un ArcGIS Server en una instancia de AWS, siga los pasos que se describen en esta sección para actualizar las geodatabases de 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.