Skip To Content

Créer une géodatabase dans Amazon Relational Database Service for PostgreSQL

Lorsque vous utilisez ArcGIS Server Cloud Builder on Amazon Web Services pour lancer une instance ArcGIS Server on Amazon Web Services (AWS) avec l'image virtuelle AMI d'Esri qui inclut Amazon Relational Database Service (RDS) for PostgreSQL, deux géodatabases d'entreprise sont créées dans l'instance RDS. Si vous souhaitez des géodatabases supplémentaires (par exemple pour personnaliser le nom ou l'emplacement des géodatabases que vous utilisez ou si vous avez plusieurs services chargés de l'administration de leurs propres données discrètes qui requièrent leurs propres géodatabases), vous pouvez créer des bases de données complémentaires avec pgAdmin ou SQL, créer des structures sde dans chaque base de données et exécuter l'outil de géotraitement Activer une géodatabase d'entreprise pour créer une géodatabase dans chaque base de données.

Lorsque vous configurez manuellement votre site avec la console de gestion AWS, aucune instance RDS, aucun rôle de connexion sde, aucune base de données ou aucune géodatabase n'est créé. Si vous voulez utiliser des géodatabases d'entreprise dans une instance Amazon RDS for PostgreSQL avec une de ces instances ArcGIS Server on Amazon Web Services, procédez comme suit :

  1. Créez une instance de base de données PostgreSQL et une base de données dans la console Amazon RDS.

    Consultez la documentation concernant Amazon Web Services (AWS) pour savoir comment créer une base de données et une instance RDS de base de données PostgreSQL. Il est conseillé de démarrer avec ce didacticiel : Creating a PostgreSQL DB Instance and Connecting to a Database on a PostgreSQL DB Instance.

  2. Chargez l'extension PostGIS dans la structure publique de la base de données que vous avez créée.

    CREATE EXTENSION postgis SCHEMA public;

  3. Connectez-vous à votre instance de base de données RDS PostgreSQL à partir d'un client SQL. Connectez-vous en tant qu'utilisateur principal.
  4. A partir du client SQL, créez un rôle de connexion sde dans la grappe de bases de données PostgreSQL.

    Vous devez accorder à l'identifiant de connexion sde le rôle de groupe rds_superuser pour l'autoriser à activer la fonctionnalité de géodatabase.

    CREATE ROLE sde WITH PASSWORD 'MeyeP@$$w0rd' LOGIN;
    GRANT rds_superuser TO sde;

  5. A partir du client SQL, créez une structure nommée sde dans la base de données que vous avez créée, puis donnez à l'identifiant de connexion sde le rôle de propriétaire de la structure sde.

    CREATE SCHEMA sde;
    ALTER SCHEMA sde OWNER TO sde;

    Remarque :

    Utilisez uniquement des minuscules pour le nom d'utilisateur et de structure. Les noms en majuscules ne sont pas pris en charge avec la géodatabase.

  6. Modifiez les privilèges et définissez le chemin d'accès à la recherche sur la base de données.

    ALTER DATABASE <database> SET search_path = "$user", public, sde;
    GRANT ALL ON DATABASE <database> TO public;
    GRANT ALL ON DATABASE <database> TO sde;

  7. Créez une connexion à une base de données à partir d'ArcGIS à la base de données. Connectez-vous avec l'identifiant de connexion sde. Vous pouvez créer une connexion à une base de données en utilisant l'une des méthodes suivantes :
    • Ajouter une connexion à une base de données dans la fenêtre Catalogue d'ArcMap ou ArcCatalog.
    • Ajoutez une Nouvelle connexion à une base de données dans le volet Projet d'ArcGIS Pro.
    • Exécutez l'outil Créer une connexion à une base de données dans ArcMap, ArcCatalog ou ArcGIS Pro.
    • Exécutez un script Python qui appelle l'outil Créer une connexion à une base de données à partir d'une machine sur laquelle ArcGIS for Server, ArcMap ou ArcGIS Pro est installé.

    Vous utiliserez le fichier de connexion à une base de données résultant (.sde) comme entrée pour l'étape suivante.

  8. Exécutez l'outil de géotraitement Activer une géodatabase d'entreprise ou un script Python qui appelle l'outil de création d'une géodatabase dans la base de données.

    Remarque :

    Vous ne pouvez pas utiliser l'outil de géotraitement Créer la géodatabase d'entreprise ou un script pour créer un utilisateur sde et une géodatabase dans PostgreSQL RDS.

  9. Utilisez SQL pour créer un rôle de connexion et une structure (de même nom) pour charger les données dans la géodatabase.

    Dans cet exemple, le nom de l'utilisateur est dataloader.

    CREATE ROLE dataloader WITH PASSWORD 'dkey2DL' LOGIN;
    CREATE SCHEMA dataloader;
    ALTER SCHEMA dataloader OWNER TO dataloader;

    Remarque :

    Utilisez uniquement des minuscules pour le nom d'utilisateur et de structure. Les noms en majuscules ne sont pas pris en charge avec la géodatabase.

  10. Accordez à cet identifiant de connexion le droit d'utilisation sur la structure sde et accordez à l'identifiant de connexion sde le droit d'utilisation sur cette nouvelle structure.

    GRANT USAGE ON SCHEMA sde TO dataloader;
    GRANT USAGE ON SCHEMA dataloader TO sde;

  11. Créez une autre connexion à la base de données depuis ArcGIS, en vous connectant à l'aide de l'identifiant que vous avez créé pour charger les données.
  12. Inscrivez votre géodatabase auprès de votre instance ArcGIS Server avec ce nouveau fichier de connexion à une base de données.