Didacticiel : Démarrage des géodatabases dans PostgreSQL
Ce didacticiel inclut un exemple indiquant comment se familiariser avec l'utilisation d'une géodatabase d'entreprise dans PostgreSQL 9.0.2-1, sur un serveur Windows. Ce didacticiel part du principe que vous avez déjà installé ArcGIS for Desktop et ArcGIS for Server.
Installation et configuration de PostgreSQL
Pour les besoins de ce didacticiel, lancez l'installation de PostgreSQL, que vous trouverez sur le portail d'assistance client Esri. Ceci fait, configurez le cluster de bases de données de façon qu'il accepte les connexions distantes, en modifiant le fichier pg_hba.conf.
Téléchargez et installez PostgreSQL.
- Téléchargez le programme d'installation de PostgreSQL (appelé, ici, postgresql 9.0.2-1 windows x64) sur le portail d'assistance client Esri.
- Exécutez le fichier exécutable de configuration sur le serveur Windows destiné à héberger 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.
- Dans un éditeur de texte, ouvrez ce fichier, qui se trouve dans le répertoire de données de PostgreSQL.
L'emplacement par défaut est le suivant : C:\Program Files\PostgreSQL\9.0\data.
- Indiquez les adresses IP du client devant être autorisé à accéder au cluster de bases de données.
Dans l'exemple suivant, toutes les adresses et tous les utilisateurs se connectant au réseau sont autorisés à accéder à l'ensemble des bases de données du cluster :
# TYPE DATABASE USER CIDR-ADDRESS METHOD # IPV4 local connections: host all all 0.0.0.0/0 md5 # IPV6 local connections: host all all ::/0 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.
- Relancez 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.
Installation des bibliothèques ST_Geometry dans le répertoire lib PostgreSQL
La création de la géodatabase dans PostgreSQL repose sur la présence de la bibliothèque ST_Geometry. Vous devez placer la bibliothèque appropriée dans le répertoire lib hébergeant PostgreSQL avant de créer une géodatabase. Vous trouverez les bibliothèques ST_Geometry dans le dossier DatabaseSupport d'installation du client ArcGIS.
Ce didacticiel part du principe que PostgreSQL est installé sur un serveur Windows. De ce fait, c'est la bibliothèque ST_Geometry se trouvant dans le dossier Windows64 qui sera utilisée.
- Dans Windows Explorer, accédez à l'emplacement de la bibliothèque ST_Geometry de Windows dans le répertoire d'installation du client ArcGIS.
Sur un système Windows 64 bits, l'emplacement par défaut du logiciel ArcGIS for Desktop est le suivant : C:\Program Files (x86)\ArcGIS\Desktop<numéro_version>\DatabaseSupport\PostgreSQL\Windows64. Sur un système Windows 32 bits, cet emplacement est le suivant : C:\Program Files\ArcGIS\Desktop<numéro_version>\DatabaseSupport\PostgreSQL\Windows64.
- Copiez le fichier st_geometry.dll se trouvant à cet emplacement.
- Sur le serveur de bases de données, accédez au répertoire lib PostgreSQL et collez la bibliothèque à cet emplacement.
Sous Windows, l'emplacement par défaut est le suivant : C:\Program Files\PostgreSQL\9.0\lib.
Installation des fichiers du client PostgreSQL sur la machine cliente ArcGIS
Pour vous connecter via ArcGIS afin de créer une géodatabase, vous devez disposer d'une machine cliente hébergeant PostgreSQL Client Libraries.
- Téléchargez les fichiers du client PostgreSQL à partir du portail d'assistance client Esri.
Pour vous connecter via ArcGIS for Desktop, vous devez disposer de fichiers 32 bits. Pour vous connecter via ArcGIS for Server, vous devez disposer de fichiers 64 bits. Si les deux clients ArcGIS sont installés sur la même machine, vous devez installer les deux ensembles de bibliothèques.
- Collez les bibliothèques appropriées dans le répertoire bin du client ArcGIS.
- Pour ArcGIS for Desktop, collez les fichiers 32 bits dans le répertoire C:\Program Files (x86)\ArcGIS\Desktop<numéro_version>\bin (systèmes 64 bits) ou C:\Program Files\ArcGIS\Desktop<numéro_version>\bin (systèmes 32 bits).
- Pour ArcGIS for Server, collez les fichiers 64 bits dans le répertoire C:\Program Files\ArcGIS\Server\bin.
Remarque :Les bibliothèques doivent être placées sur chaque machine cliente ArcGIS à partir de laquelle vous vous connecterez à la base de données.
- Redémarrez ArcGIS for Server (le cas échéant) afin qu'il reconnaisse les fichiers que vous avez placés dans le répertoire bin.
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 la géodatabase dans PostgreSQL.
- Lancez ArcMap et ouvrez la fenêtre Rechercher.
- Cliquez sur le filtre Outils.
- Indiquez la mention Créer une géodatabase d'entreprise dans la zone de recherche et cliquez sur le bouton Rechercher.
- Cliquez sur le lien Créer une géodatabase d'entreprise (gestion des données) pour ouvrir l'outil.
- Indiquez les informations requises pour la connexion au cluster 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 autorisez l'instance ArcGIS for Server.
Dans cet exemple, PostgreSQL s'exécute sur le serveur mypgserver ; la base de données à créer s'appelle fstutorial et le fichier de codes clés d'autorisation se trouve à l'emplacement par défaut, sur la machine hébergeant ArcGIS for Server. Le mot de passe du super-utilisateur postgres est également fourni, ainsi qu'un mot de passe pour l'utilisateur sde à créer. Le nom de tablespace n'est pas indiqué. Cela signifie que la base de données sera créée dans le tablespace pg_default.
- Cliquez sur OK pour exécuter l'outil.
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 le cluster 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 le cas présent, le super-utilisateur postgres).
Créez une connexion à une base de données, en vous connectant en tant qu'utilisateur postgres.
- Développez le nœud Connexions aux bases de données dans l'arborescence du catalogue ArcMap et double-cliquez sur Ajouter une connexion à une base de données.
La boîte de dialogue Connexion à une base de données s'affiche.
- Indiquez les informations requises pour la connexion à la nouvelle base de données, en tant que super-utilisateur postgres.
Dans cet exemple, l'utilisateur postgres se connecte à la nouvelle géodatabase fstutorial :
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.
- Cliquez sur OK pour créer la connexion.
Un nouveau fichier de connexion s'affiche dans l'arborescence du catalogue, sous le nœud Connexions aux bases de données.
Vous pouvez désormais exécuter l'outil Créer un utilisateur de base de données.
- Dans ArcMap, cliquez sur le filtre Outils de la fenêtre Rechercher.
- Indiquez la mention Créer un utilisateur de base de données dans la zone de recherche et cliquez sur le bouton Rechercher.
- Cliquez sur le lien Créer un utilisateur de base de données (gestion des données) pour ouvrir l'outil.
- Dans l'arborescence du catalogue, 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.
- 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.
Dans cet exemple, le fichier de connexion créé au cours de la procédure précédente est ajouté à l'outil ; un nom d'utilisateur (fstuser) et un mot de passe sont fournis. Comme aucun rôle de base de données n'a été créé jusqu'à présent, aucun nom de rôle n'est fourni.
- Cliquez sur OK pour exécuter l'outil.
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.
- Cliquez avec le bouton droit de la souris sur la connexion à une base de données, puis cliquez sur Propriétés de connexion.
- Remplacez les valeurs des champs Nom d'utilisateur et Mot de passe par celles du nouvel utilisateur.
- 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.