Didacticiel : Présentation des géodatabases dans PostgreSQL

Disponible avec une licence Standard ou Advanced.

Complexité : Débutant Exigences en matière de données : Utiliser vos propres données

Ce didacticiel inclut un exemple illustrant l’utilisation d’une géodatabase d’entreprise dans PostgreSQL sur un serveur Microsoft Windows. Avant d’utiliser ce didacticiel, vous devez installer ArcGIS Server et ArcGIS Pro et disposer des informations nécessaires pour vous connecter en tant qu’administrateur de base de données et de géodatabase.

Installer et configurer PostgreSQL

Dans le cadre de didacticiel, vous pouvez exécuter l’installation PostgreSQL fournie sur My Esri ou obtenir une version de PostgreSQL prise en charge à partir d’une autre source. Une fois PostgreSQL installé, configurez la grappe de bases de données de sorte qu’elle accepte les connexions distantes, en modifiant le fichier pg_hba.conf.

Téléchargez et installez PostgreSQL.

  1. Téléchargez l’installation de PostgreSQL à partir de My Esri.
  2. Exécutez le fichier exécutable de configuration sur le serveur Windows sur lequel vous souhaitez installer PostgreSQL.

    Plutôt que de définir le paramètre local et le mode d'assemblage des sites dans des langues autres que l'anglais, vous pouvez utiliser les valeurs par défaut fournies dans l'assistant d'installation.

    Vous indiquerez le mot de passe du super-utilisateur postgres lors de l'installation. Notez bien ce mot de passe, car il est associé à l'administrateur du cluster de bases de données ; vous devrez l'utiliser ultérieurement dans ce didacticiel.

Lors de la première installation de PostgreSQL, vous ne pouvez vous y connecter que depuis le serveur local. Pour permettre à d’autres machines de votre réseau de se connecter, vous devez modifier le fichier pg_hba.conf.

  1. Dans un éditeur de texte, ouvrez le fichier pg_hba.conf, qui se trouve dans le répertoire de données PostgreSQL.

    L’emplacement par défaut est C:\Program Files\PostgreSQL\<PostgreSQL version>\data.

  2. Indiquez les adresses de client devant accéder à votre base de données.

    Dans l'exemple suivant, toutes les machines se connectant à partir d'orgnetwor.com sont autorisées à accéder à l'ensemble des bases de données de l'agrégat de bases de données :

    #TYPE  DATABASE     USER    ADDRESS            METHOD
    
    host     all        all     .orgnetwork.com     md5
    

    Pour optimiser davantage la sécurité du cluster de bases de données, vous pouvez limiter l'accès à une plage d'adresses IP ou à des adresses IP spécifiques, ou indiquer à quels utilisateurs, à quelle base de données ou à quelle liste de bases de données accorder un accès. Il est même possible d'interdire l'accès de manière explicite, que ce soit à une adresse IP ou à une plage d'adresses IP. Consultez la documentation PostgreSQL pour en savoir plus et obtenir des exemples.

  3. Redémarrez le service PostgreSQL.

    Pour ce faire, cliquez avec le bouton droit de la souris sur le service postgresql-x64, dans la liste des services Windows, puis cliquez sur Redémarrer.

Placer les bibliothèques ST_Geometry dans le répertoire lib PostgreSQL

Vous pouvez utiliser le type spatial ST_Geometry dans la géodatabase PostGIS. Lors de ce workflow, vous allez configurer ST_Geometry.

Vous pouvez vous procurer le fichier de bibliothèque ST_Geometry dans le dossier DatabaseSupport d’une installation ArcGIS Server ou le télécharger via My Esri.

Ce didacticiel partant du principe que votre installation PostgreSQL figure sur un serveur Windows, utilisez la bibliothèque ST_Geometry qui se trouve dans le dossier Windows64.

  1. Dans l’Explorateur Windows, accédez à l’emplacement de la bibliothèque ST_Geometry de Windows dans le répertoire d’installation du client ArcGIS ou téléchargez le fichier à partir de My Esri.
  2. Copiez st_geometry.dll à partir de cet emplacement.
  3. Sur le serveur de bases de données, accédez au répertoire PostgreSQL lib et collez la bibliothèque à cet emplacement.

    Sur Windows, l’emplacement par défaut est C:\Program Files\PostgreSQL\<PostgreSQL version>\lib.

Créer une géodatabase

Vous pouvez utiliser l’outil de géotraitement Créer une géodatabase d’entreprise pour créer la base de données, l’utilisateur sde, la structure sde et une géodatabase dans PostgreSQL.

  1. Démarrez un client ArcGIS Desktop ou ArcGIS Pro et ouvrez l’outil Créer une géodatabase d’entreprise.
  2. Indiquez les informations requises pour la connexion à la grappe de bases de données PostgreSQL en tant que super-utilisateur postgres pour créer une base de données et l’utilisateur sde. Vous devez également pointer vers le fichier de codes clés généré lorsque vous avez autorisé votre site ArcGIS Server.
  3. Cliquez sur Run (Exécuter).

La base de données, l’utilisateur sde, la structure sde et la géodatabase sont créés dans PostgreSQL.

Création d'un utilisateur destiné à posséder des données

Les données stockées dans la géodatabase doivent appartenir à des utilisateurs, mais non à l'utilisateur sde. Utilisez l’outil de géotraitement Créer un utilisateur de base de données pour créer un utilisateur dans la grappe de bases de données PostgreSQL, ainsi qu’une structure dans la nouvelle base de données.

Cependant, pour créer cet utilisateur, vous devez d'abord vous connecter à la géodatabase en tant qu'administrateur de base de données. Dans ce cas, vous pouvez vous connecter en tant que superutilisateur postgres ou utilisateur sde, car l'outil Créer la géodatabase d'entreprise a octroyé le statut de superutilisateur à l'utilisateur sde.

Créez une connexion à une base de données, en vous connectant en tant qu'utilisateur postgres ou sde.

  1. Connectez-vous à la base de données en cliquant avec le bouton droit sur le dossier Databases (Bases de données) de la fenêtre Catalog (Catalogue) et en sélectionnant New Database Connection (Nouvelle connexion à une base de données).

    La boîte de dialogue Database Connection (Connexion à une base de données) apparaît.

  2. Indiquez les informations requises pour la connexion à la nouvelle base de données en tant que super-utilisateur PostgreSQL.

    Comme vous devez utiliser ce fichier de connexion dans un outil de géotraitement, vous devez sélectionner l'option Enregistrer le nom d'utilisateur et le mot de passe. Une fois l'outil exécuté, cependant, vous devez désélectionner cette option dans le fichier de connexion, vous connecter via un autre utilisateur, ou supprimer le fichier de connexion afin d'empêcher les utilisateurs pouvant y accéder de se connecter à la géodatabase en tant qu'administrateurs de base de données.

  3. Cliquez sur OK pour créer la connexion.

Un nouveau fichier de connexion apparaît sous Connexions aux bases de données.

Vous pouvez désormais exécuter l'outil Créer un utilisateur de base de données.

  1. Ouvrez l'outil Créer un utilisateur de base de données.
  2. Faites glisser le nouveau fichier de connexion vers la zone de texte Espace de travail de base de données en entrée de l'outil Créer un utilisateur de base de données.
  3. Indiquez le nom du nouvel utilisateur dans la zone de texte Utilisateur de base de données et saisissez le mot de passe associé dans la zone de texte Mot de passe de l'utilisateur de base de données.
  4. Cliquez sur Run (Exécuter).

Un utilisateur et une structure sont créés dans PostgreSQL ; la valeur USAGE est automatiquement accordée au rôle public sur la structure.

Connexion via l'utilisateur nouvellement créé

Vous pouvez désormais vous connecter à la base de données via l'utilisateur dont vous disposez à présent, capable d'ajouter des données à la nouvelle géodatabase. Pour ce faire, le moyen le plus simple consiste à modifier le fichier de connexion que vous avez créé un peu plus tôt.

Ouvrez une connexion existante à une base de données et modifiez le nom d'utilisateur et le mot de passe.

  1. Cliquez avec le bouton droit de la souris sur la connexion à une base de données, puis cliquez sur Propriétés de connexion.
  2. Remplacez les valeurs des champs Nom d'utilisateur et Mot de passe par celles du nouvel utilisateur.
  3. Cliquez sur OK pour vous connecter en tant que nouvel utilisateur.

Vous pouvez à présent utiliser cette connexion pour ajouter des données à la géodatabase.