Ajouter le type ST_Geometry à une base de données PostgreSQL
Vous pouvez ajouter le type, le sous-type et les fonctions ST_Geometry à votre base de données PostgreSQL à l'aide de l'outil de géotraitement Créer un type spatial ou d'un script Python.
L'outil Créer un type spatial permet d'effectuer les opérations suivantes :
- Création d'un rôle de connexion sde dans le cluster de bases de données PostgreSQL
- Octroi des privilèges de super-utilisateur à l'utilisateur sde (ces privilèges peuvent être révoqués une fois le type ST_Geometry créé)
- Création d'une structure nommée sde dans la base de données où vous installez le type ST_Geometry
- Octroi d'une autorité complète sur la structure sde à l'utilisateur sde
- Octroi du privilège USAGE sur la structure sde au groupe de connexion public (si vous le souhaitez, vous pouvez révoquer ce privilège, mais vous devez l'accorder à tous les utilisateurs qui doivent accéder aux fonctions, sous-types ou au type ST_Geometry.)
- Création des fonctions, domaines, tables (sde_coordinate_systems et sde_geometry_columns) et vues (st_geometry_columns et st_spatial_references) nécessaires dans la structure sde, ainsi que de la table sde_spatial_references dans la structure publique
Avant d'exécuter l'outil, vous devez copier la bibliothèque st_geometry dans le serveur PostgreSQL.
Les étapes suivantes expliquent comment installer le type ST_Geometry dans une base de données PostgreSQL :
- Copiez la bibliothèque st_geometry du répertoire DatabaseSupport vers l'emplacement de l'installation du client ArcGIS et placez-la dans le répertoire lib de PostgreSQL. Veillez à copier la bibliothèque st_geometry appropriée à la version de PostgreSQL et au système d'exploitation que vous utilisez.
- L'emplacement du répertoire lib sur Linux peut varier selon la façon dont vous avez installé PostgreSQL. Pour déterminer l'emplacement correct de l'installation PostgreSQL, exécutez pg_config en tant qu'utilisateur postgres. La valeur qui est renvoyée pour PKGLIBDIR est le répertoire lib dans lequel vous devez placer la bibliothèque st_geometry. Connectez-vous en tant qu'utilisateur racine pour copier le fichier dans le répertoire lib.
- Si PostgreSQL est installé sur un serveur Windows, placez le fichier st_geometry.dll dans le répertoire %PostgreSQL%\lib.
- Si PostgreSQL est installé sur un serveur Windows, vous devez installer le paquetage distribuable Microsoft Visual C++ 2008 SP1 (x64) sur le serveur. Si le paquetage n'est pas présent sur le serveur PostgreSQL, téléchargez-le depuis le site de Microsoft et installez-le.
Vous devez impérativement le faire pour utiliser le type ST_Geometry.
- Lancez ArcCatalog ou ArcMap et ouvrez la fenêtre Catalogue.
- Créez une connexion à votre base de données PostgreSQL. Connectez-vous en tant qu'utilisateur postgres.
- Ouvrez l'outil Créer un type spatial.
Vous pouvez utiliser la fenêtre Rechercher pour trouver l'outil ou l'ouvrir à partir du jeu d'outils Espace de travail de la boîte à outils Gestion des données.
- Ajoutez la connexion de base de données que vous avez créée à l'étape 4 dans la zone de texte Espace de travail de base de données en entrée.
- Entrez le mot de passe de l'utilisateur sde dans la zone de texte Mot de passe utilisateur SDE.
- Laissez vide la zone de texte Nom de l'espace de table.
- Cliquez sur OK pour exécuter l'outil.
Le type, les sous-types et les fonctions ST_Geometry sont créés dans la structure de l'utilisateur sde.