Skip To Content

Mise à niveau de géodatabases dans PostgreSQL sur Amazon Web Services

Mettez à niveau vos géodatabases pour bénéficier des nouvelles fonctionnalités et améliorations intégrées à la géodatabase. Pour mettre à niveau une géodatabase d’entreprise dans PostgreSQL sur Amazon Web Services (AWS), procédez de l’une des manières suivantes :

  • Mettez à jour le logiciel ArcGIS sur l’instance Amazon Elastic Compute Cloud (EC2) existante et mettez à niveau la géodatabase.

    Si la géodatabase se trouve dans une grappe de bases de données PostgreSQL sur AWS, vérifiez que la version existante de PostgreSQL est compatible avec la dernière version du logiciel ArcGIS. Si tel n’est pas le cas, vous devez également mettre à niveau la grappe de bases de données PostgreSQL.

    Si la géodatabase se trouve déjà dans Amazon Relational Database Service (RDS) for PostgreSQL, Amazon met automatiquement à jour la version de PostgreSQL ; il vous suffit donc de mettre à niveau la géodatabase une fois la mise à niveau du logiciel ArcGIS terminée.

  • Migrez le contenu vers une nouvelle géodatabase dans une instance de service de base de données relationnelle Amazon.

    Cette méthode est plus longue, mais vous devez l’utiliser si vous effectuez une mise à niveau depuis une instance ArcGIS 10, car il n’existe aucun chemin direct de mise à niveau de la version 10 à la version 11.1. Cette méthode peut également être utilisée pour migrer les données depuis une grappe existante de bases de données PostgreSQL ou d’une instance Microsoft SQL Server vers Amazon RDS for PostgreSQL ou Amazon Aurora (PostgreSQL-compatible edition) pour tirer parti des mises à jour automatiques appliquées par Amazon à ces instances.

Les sections suivantes décrivent les méthodes permettant de mettre à jour la géodatabase vers la version la plus récente.

Mettez à jour le logiciel ArcGIS sur votre instance AWS existante et mettez à niveau la géodatabase

Vous pouvez mettre à niveau ArcGIS Server sur l’instance EC2 existante, mettre à niveau la géodatabase dans PostgreSQL et continuer à utiliser les données et services existants. Sachez que le système d'exploitation et tous les autres logiciels de cette instance conservent la version qu'ils présentaient lorsque vous avez créé votre instance. Par exemple, si vous avez créé l’instance à partir de ArcGIS Server 10.2.2 for Amazon Machine Image, vous continuerez à utiliser une base de données PostgreSQL 9.2.4 sur un système d’exploitation Ubuntu 12.04. Selon la version de ArcGIS Server vers laquelle vous effectuez la mise à niveau, ces versions de PostgreSQL et du système d’exploitation risquent de ne pas être compatibles avec la version mise à niveau de ArcGIS Server.

Si la version PostgreSQL présente sur l’instance n’est pas compatible avec la nouvelle version de ArcGIS Server, vous devez également mettre à niveau PostgreSQL vers une version prise en charge. Par exemple, si vous avez lancé une instance ArcGIS 10.8 et que vous souhaitez effectuer la mise à niveau vers ArcGIS Server 11.1 sur cette instance, vous devez également mettre à niveau PostgreSQL vers une version prise en charge. Consultez la documentation PostgreSQL pour en savoir plus sur la mise à niveau de PostgreSQL.

Si la version du système d’exploitation n’est pas prise en charge avec la nouvelle version de PostgreSQL ou de ArcGIS Server, vous devez également mettre à jour la version du système d’exploitation ou déplacer les données vers une nouvelle instance et republier les services.

La façon dont vous procédez à la mise à niveau de ArcGIS Server sur AWS dépend de la façon dont vous avez créé le site ArcGIS Server. Consultez la rubrique Mises à niveau ArcGIS sur Amazon Web Services pour en savoir plus sur la mise à niveau de ArcGIS Server sur AWS. Une fois la mise à niveau de ArcGIS Server réalisée, suivez les instructions pour mettre à niveau la géodatabase dans Amazon RDS for PostgreSQL.

Si vous avez utilisé ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 ou version antérieure pour créer le site ArcGIS Server et les géodatabase, reportez-vous aux instructions correspondant à l’emplacement de  PostgreSQL : sur l’instance SITEHOST ou sur l’instance EGDBHOST.

Mettre à niveau les géodatabases dans Amazon RDS for PostgreSQL

Après avoir mis à niveau un site ArcGIS Server sur AWS, suivez ces étapes pour mettre à niveau les géodatabases dans Amazon RDS for PostgreSQL.

  1. Vérifiez que vous disposez d’une sauvegarde à jour et fiable de la base de données dans Amazon RDS for PostgreSQL.
  2. Connectez-vous à Amazon RDS for PostgreSQL et vérifiez que l’utilisateur sde dispose des privilèges requis pour la mise à niveau.
  3. Connectez-vous à l’une des instances ArcGIS Server EC2 en tant qu’utilisateur arcgis.
  4. Ouvrez un éditeur de texte pour créer un script Python et mettre à niveau la géodatabase.

    Par exemple :

    vi upgrade.py

  5. Copiez le script suivant dans un éditeur de texte.

    Modifiez le script de façon à utiliser les informations propres à votre site, notamment le nom d'instance, le mot de passe sde, le nom et l'emplacement du fichier de connexion et le nom de la base de données.

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

    Reportez-vous aux rubriques Créer une connexion à une base de données et Mettre à niveau une géodatabase pour plus d’informations sur la syntaxe de l’outil.

  6. Enregistrez le fichier et fermez l'éditeur de texte.
  7. Utilisez stopserver.sh pour arrêter ArcGIS Server.
  8. Exécutez le script de mise à niveau dans Python.

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

    Si la mise à niveau échoue, des informations sont consignées dans le fichier GDBUpgrade.log dans /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#>.

  9. Pour vérifier que la géodatabase est mise à niveau, ouvrez une fenêtre de commande Python et exécutez ce qui suit, en remplaçant /tmp/egdbrds_connection.sde par l’emplacement et le nom du fichier de connexion.

    D'abord, ouvrez une invite arcpy.

    cd /arcgis/server/tools
    ./python

    Utilisez isCurrent pour savoir si la géodatabase est mise à niveau vers la version actuelle.

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

    Si print isCurrent renvoie True, votre géodatabase est mise à niveau.

  10. Pour quitter l'invite arcpy, tapez quit().
  11. Modifiez le script upgrade.py et exécutez-le à nouveau pour chaque géodatabase que vous devez mettre à niveau.

Mettre à niveau des géodatabases sur SITEHOST

Si vous avez créé le site ArcGIS Server et les géodatabases avec ArcGIS Server Cloud Builder on Amazon Web Services, suivez les étapes de cette section pour mettre à niveau des géodatabases dans une grappe de bases de données PostgreSQL résidant sur la même instance que l’instance SITEHOST de ArcGIS Server.

Remarque :

Vous ne pouvez pas mettre à niveau directement ArcGIS Server 10.6.1 et versions antérieures vers 11.1. Vous devez effectuer une mise à niveau vers une version intermédiaire, puis procéder à la mise à niveau vers 11.1.

Notez également que n’importe quelle géodatabase dans PostgreSQL initialement créée avec ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 exige que vous mettiez à niveau PostgreSQL vers une version prise en charge et que vous mettiez à niveau le système d’exploitation Ubuntu vers une version prise en charge. Vous devrez peut-être également d’abord mettre à niveau chacune de ces versions vers une version intermédiaire. Par exemple, si vous mettez à niveau un site ArcGIS Server 10.5.1 avec une géodatabase dans PostgreSQL, mettez à niveau ArcGIS Server vers la version 10.7.1 et mettez à niveau le système d’exploitation et PostgreSQL vers des versions qui étaient prises en charge par la version 10.7.1.

Créez toujours des sauvegardes de la base de données et du site avant d’effectuer une mise à niveau. Testez la mise à niveau intermédiaire avant d’effectuer la mise à niveau vers la version 11.1.

Le mode de mise à niveau de PostgreSQL dépend des versions d’origine et de destination de PostgreSQL. Consultez la documentation PostgreSQL pour obtenir des instructions.

Après avoir mis à niveau PostgreSQL et Ubuntu vers des versions prises en charge, mettez à niveau ArcGIS Server, téléchargez le nouveau fichier st_geometry.so depuis My Esri, placez ce fichier dans le répertoire PostgreSQL lib, arrêtez ArcGIS Server, exécutez un script Python pour mettre à niveau chaque géodatabase, puis redémarrez ArcGIS Server.

  1. Installez la nouvelle version de ArcGIS Server sur l’instance EC2 et effectuez la mise à niveau comme vous le feriez pour un site ArcGIS Server local.

    Reportez-vous au guide d’installation de ArcGIS Server pour obtenir les instructions de mise à niveau.

  2. Créez des copies de sauvegarde des géodatabases avant de les mettre à niveau.

    Une des manières de créer une sauvegarde de la géodatabase consiste à créer un instantané du volume EBS qui contient les données. Consultez la documentation Amazon Web Services pour obtenir des instructions.

  3. Avant la mise à niveau, téléchargez le fichier st_geometry.so depuis My Esri et remplacez le fichier qui se trouve dans /usr/lib/postgresql/<postgresql version>/lib.
    1. Le fichier st_geometry.so appartient à l’utilisateur racine. Ainsi, après vous être connecté à l’instance SITEHOST Amazon Web Services en tant qu’utilisateur ubuntu, connectez-vous en tant qu’utilisateur racine :
      sudo su -
      Remarque :

      N'oubliez pas que vous ne pouvez pas vous connecter comme utilisateur arcgis, puis en tant qu'utilisateur racine.

    2. Avant de placer le nouveau fichier, renommez l’ancien.
      mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
    3. Copiez le nouveau fichier st_geometry.so à partir du répertoire dans lequel vous l’avez téléchargé.
      cp /usr/downloads/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib
    4. Modifiez les autorisations sur le fichier st_geometry.so pour autoriser d’autres utilisateurs à le lire et à l’exécuter.
      chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
  4. Connectez-vous en tant qu'utilisateur arcgis.
    su - arcgis
  5. Ouvrez un éditeur de texte pour créer le script Python de mise à niveau.

    vi upgrade.py

  6. Copiez le script suivant dans un éditeur de texte.

    Modifiez le script de façon à utiliser les informations propres à votre site, notamment le nom d'instance, le mot de passe sde, le nom et l'emplacement du fichier de connexion et le nom de la base de données.

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

    Reportez-vous aux rubriques Créer une connexion à une base de données et Mettre à niveau une géodatabase pour plus d’informations sur la syntaxe de l’outil.

  7. Enregistrez le fichier et fermez l'éditeur de texte.
  8. Utilisez stopserver.sh pour arrêter ArcGIS Server.
  9. Exécutez le script de mise à niveau dans Python.

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

    Il est possible que plusieurs messages concernant les références de type s'affichent. Vous pouvez les ignorer, ils ne signifient pas que la mise à niveau a échoué.

    Des informations sont consignées dans le fichier journal GDBUpgrade.log sous /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> si la mise à niveau échoue.

  10. Pour vous assurer que votre géodatabase est mise à niveau, exécutez ce qui suit dans Python. Remplacez /tmp/egdb_connection.sde par l’emplacement et le nom de votre fichier de connexion.

    D'abord, ouvrez une invite arcpy.

    cd /arcgis/server/tools
    ./python

    Utilisez isCurrent pour savoir si la géodatabase est mise à niveau vers la version actuelle.

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

    Si print isCurrent renvoie True, la géodatabase est mise à niveau.

  11. Pour quitter l'invite arcpy, tapez quit().
  12. Modifiez le script et exécutez-le pour chaque géodatabase que vous devez mettre à niveau.
  13. Une fois toutes les géodatabases mises à niveau, utilisez startserver.sh pour redémarrer ArcGIS Server.

Mettre à niveau des géodatabases sur EGDBHOST

Si vous avez créé le site ArcGIS Server et les géodatabases avec ArcGIS Server Cloud Builder on Amazon Web Services, suivez les étapes de cette section pour mettre à niveau les géodatabases dans PostgreSQL qui se trouvent dans leur propre instance AWS dédiée (EGDBHOST).

Remarque :

Vous ne pouvez pas mettre à niveau directement ArcGIS Server 10.6.1 et versions antérieures vers 11.1. Vous devez effectuer une mise à niveau vers une version intermédiaire, puis procéder à la mise à niveau vers 11.1.

N’importe quelle géodatabase dans PostgreSQL initialement créée avec ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 ou version antérieure exige que vous mettiez à niveau PostgreSQL vers une version prise en charge et que vous mettiez à niveau le système d’exploitation Ubuntu vers une version prise en charge. Vous devrez peut-être également d’abord mettre à niveau chacune de ces versions vers une version intermédiaire. Par exemple, si vous mettez à niveau un site ArcGIS Server 10.5.1 avec une géodatabase dans PostgreSQL, mettez à niveau ArcGIS Server vers la version 10.7.1 et mettez à niveau le système d’exploitation et PostgreSQL vers des versions qui étaient prises en charge par la version 10.7.1.

Créez toujours une sauvegarde de la base de données et du site avant d’effectuer une mise à niveau. Testez la mise à niveau intermédiaire avant d’effectuer la mise à niveau vers la version 11.1.

Le mode de mise à niveau de PostgreSQL dépend des versions d’origine et de destination de PostgreSQL. Consultez la documentation PostgreSQL pour obtenir des instructions.

Après avoir mis à niveau PostgreSQL et Ubuntu, mettez à niveau ArcGIS Server sur SITEHOST, téléchargez le nouveau fichier st_geometry.so à partir de My Esri et placez-le dans le répertoire PostgreSQL lib sur EGDBHOST, arrêtez ArcGIS Server, exécutez un script Python à partir de SITEHOST pour mettre à niveau chaque géodatabase, puis redémarrez ArcGIS Server.

  1. Installez la nouvelle version de ArcGIS Server sur l’instance EC2 et effectuez la mise à niveau comme vous le feriez pour un site ArcGIS Server local.

    Consultez le guide d’installation ArcGIS Server pour obtenir des instructions de mise à niveau.

  2. Créez des copies de sauvegarde des géodatabases avant de les mettre à niveau.

    Une des manières de créer une sauvegarde de la géodatabase consiste à créer un instantané du volume EBS qui contient les données. Consultez la documentation Amazon Web Services pour savoir comment créer un instantané d’un volume EBS.

  3. Avant la mise à niveau, téléchargez le fichier st_geometry.so depuis My Esri et placez-le dans /usr/lib/postgresql/<postgresql version>/lib.
    1. Avant de placer le nouveau fichier, renommez l’ancien sur EGDBHOST. Le fichier st_geometry.so étant la propriété de l’utilisateur root, connectez-vous à EGDBHOST en tant qu’utilisateur ubuntu, puis en tant qu’utilisateur root.
      sudo su -
      
      mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
    2. Copiez le fichier st_geometry.so à partir du répertoire dans lequel vous l’avez téléchargé.
      cp /gisdata/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
    3. Modifiez les autorisations sur le fichier st_geometry.so pour autoriser d’autres utilisateurs à le lire et à l’exécuter.
      chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
  4. Connectez-vous à SITEHOST en tant qu’utilisateur arcgis.
  5. Ouvrez un éditeur de texte pour créer le script Python de mise à niveau.

    Par exemple :

    vi upgrade.py

  6. Copiez le script suivant dans un éditeur de texte.

    Modifiez le script de façon à utiliser les informations propres à votre site, notamment le nom d'instance, le mot de passe sde, le nom et l'emplacement du fichier de connexion et le nom de la base de données.

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

    Reportez-vous aux rubriques Créer une connexion à une base de données et Mettre à niveau une géodatabase pour plus d’informations sur la syntaxe de l’outil.

  7. Enregistrez le fichier et fermez l'éditeur de texte.
  8. Utilisez stopserver.sh pour arrêter ArcGIS Server.
  9. Exécutez le script de mise à niveau dans Python.

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

    Il est possible que plusieurs messages concernant les références de type s'affichent. Vous pouvez ignorer ces messages.

    Si la mise à niveau échoue, des informations sont consignées dans le fichier GDBUpgrade.log dans /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#>.

  10. Pour vérifier que la géodatabase est mise à niveau, ouvrez Python et exécutez ce qui suit, en remplaçant /tmp/egdb_connection.sde par l’emplacement et le nom du fichier de connexion.

    D'abord, ouvrez une invite arcpy.

    cd /arcgis/server/tools
    ./python

    Utilisez isCurrent pour savoir si la géodatabase est mise à niveau vers la version actuelle.

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

    Si print isCurrent renvoie True, votre géodatabase est mise à niveau.

  11. Pour quitter l'invite arcpy, tapez quit().
  12. Modifiez le script upgrade.py et exécutez-le à nouveau pour chaque géodatabase que vous devez mettre à niveau.
  13. Une fois toutes les géodatabases mises à niveau, utilisez startserver.sh pour redémarrer ArcGIS Server.

Migration de contenu vers une géodatabase 11.1 10.5 dans une instance de service de base de données Amazon

Si vous effectuez la mise à niveau depuis ArcGIS 10 sur AWS ou si vous souhaitez éviter d’avoir à mettre à niveau et à gérer PostgreSQL ainsi que le système d’exploitation, déplacez le contenu vers une instance Amazon Relational Database Service (RDS) et republiez les services. Voici une synthèse de la migration :

  • Créez une géodatabase dans une instance Amazon RDS for PostgreSQL ou Amazon Aurora (PostgreSQL-compatible edition) et inscrivez-la auprès de votre nouveau site ArcGIS Server 11.1 (ou mis à niveau).
  • Déplacez les données existantes dans la nouvelle géodatabase.
  • Republiez les services.

    Consultez l’aide ArcGIS Server pour obtenir des informations sur la publication de services.

  • Mettez à jour les applications pour utiliser les nouveaux services.

    La manière de procéder dépend de la façon dont l’application a été créée. Pour les applications personnalisées qui utilisent le service directement, mettez à jour l’URL de service. Pour les applications créées à l’aide d’un portail ArcGIS Enterprise ou d’un élément ArcGIS Online, vous devrez mettre à jour la couche dans la carte ou scène utilisée dans l’application.