Configuration d'une géodatabase dans PostgreSQL
Cette rubrique s'applique uniquement à ArcGIS for Desktop Standard et ArcGIS for Desktop Advanced.
Bien souvent, vous pouvez utiliser l'outil de géotraitement Créer la géodatabase d'entreprise ou un script Python pour créer une géodatabase dans un système de gestion de base de données PostgreSQL.
L'outil Créer la géodatabase d'entreprise permet de créer une base de données via le modèle PostgreSQL par défaut, de générer un rôle de connexion sde et la structure correspondante, d'accorder à ce rôle les privilèges lui permettant de créer une géodatabase et de générer une géodatabase. Pour utiliser un modèle différent lors de la création de la base de données, commencez par créer cette dernière dans le cluster correspondant, puis exécutez le script ou l'outil Créer la géodatabase d'entreprise, en indiquant le nom de la base de données créée au préalable.
Vous pouvez également utiliser l'outil de géotraitement Activer une géodatabase d'entreprise ou un script Python pour créer une géodatabase dans une base de données PostgreSQL. Le seul motif récurrent d'utilisation du script ou de l'outil de géotraitement Activer une géodatabase d'entreprise est le suivant : la personne qui crée la géodatabase ne dispose d'aucun accès au mot de passe du super-utilisateur postgres. Dans ce cas, l'administrateur de base de données peut créer le rôle de connexion sde, la base de données et la structure sde, et accorder à l'utilisateur sde les privilèges requis pour créer une géodatabase. Ensuite, cet utilisateur peut se connecter à la base de données et activer la fonctionnalité de géodatabase associée, via le script ou l'outil de géotraitement Activer la géodatabase d'entreprise.
Consultez la configuration système requise sur le Centre de ressources avant d'installer une géodatabase afin de vous assurer que la base de données, ArcGIS et les combinaisons de matériel que vous souhaitez utiliser sont pris en charge.
Configuration d'une géodatabase dans PostgreSQL sur un serveur Linux
Voici la procédure à suivre pour créer une géodatabase dans PostgreSQL sous Linux :
- Procurez-vous une version prise en charge de PostgreSQL, installez-la et configurez l'agrégat de bases de données.
Vous pouvez télécharger des installations PostgreSQL à partir du portail d'assistance client Esri. Si vous utilisez cette installation, aucun paramètre autre que ceux par défaut n'est nécessaire pour utiliser PostgreSQL avec ArcGIS. N'oubliez pas de modifier les paramètres régionaux et les paramètres d'emplacement si vous voulez utiliser des paramètres spécifiques autres que ceux par défaut.
Vous pouvez également vous procurer l'installation de PostgreSQL par vous-même. Pour plus d'instructions sur l'installation et la configuration de PostgreSQL, consultez la documentation sur le site Web PostgreSQL.
- Configurez le cluster de bases de données pour accepter les connexions.
Cela suppose que vous modifiiez le fichier pg_hba.conf pour que l'agrégat de bases de données accepte les connexions à distance.
- Définissez les variables d'environnement suivantes pour l'utilisateur postgres si elles ne sont pas déjà définies correctement :
- PGDATA : Cette variable doit être définie par l'installation PostgreSQL. Si tel n'est pas le cas, définissez-la sur l'emplacement du répertoire de données sous le répertoire d'installation PostgreSQL.
- LD_LIBRARY_PATH : Définissez la variable LD_LIBRARY_PATH dans le répertoire lib de PostgreSQL. L'emplacement de ce répertoire 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. Définissez LD_LIBRARY_PATH à la valeur renvoyée par PKGLIBDIR.
- PATH : Définissez la variable PATH pour qu'elle contienne postgresql/bin.
- Installez le client ArcGIS à partir duquel vous allez créer la géodatabase.
- Téléchargez PostgreSQL Client Libraries (si votre client ArcGIS est sous Windows) ou RPM (si votre client ArcGIS est sous Linux) sur le portail d'assistance client Esri et placez-les dans le répertoire bin du client ArcGIS que vous avez installé à la dernière étape. Reportez-vous à la rubrique Configuration d'une connexion à PostgreSQL pour plus d'informations.
- Si vous prévoyez d'utiliser ArcGIS for Server avec votre géodatabase dans PostgreSQL, définissez ou modifiez les variables suivantes pour le compte ArcGIS :
- SDEHOME : Définissez cette variable sur /home/ags/arcgis/server.
export SDEHOME=/home/ags/arcgis/server
- PG_HOME : Définissez PG_HOME sur /opt/PostgreSQL/9.0.
export PG_HOME=/opt/PostgreSQL/9.0
- PATH : Ajoutez $PATH:$PG_HOME/bin:$SDEHOME/bin à la variable PATH.
export PATH=$PATH:$PG_HOME/bin:$SDEHOME/bin
- LD_LIBRARY_PATH : Ajoutez $LD_LIBRARY_PATH:$PG_HOME/lib:$SDEHOME/lib à la variable LD_LIBRARY_PATH.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PG_HOME/lib:$SDEHOME/lib
- SDEHOME : Définissez cette variable sur /home/ags/arcgis/server.
- Déplacez la bibliothèque st_geometry.so vers le répertoire d'installation de PostgreSQL.
La bibliothèque st_geometry.so pour PostgreSQL 9.0 se trouve dans le répertoire DatabaseSupport/PostgreSQL/Linux64 du répertoire d'installation du client ArcGIS. Déplacez le fichier de cet emplacement sur le client ArcGIS, ouvrez une session sur le serveur PostgreSQL en tant qu'utilisateur racine et placez le fichier st_geometry.so dans le répertoire lib de PostgreSQL. (Il s'agit du même emplacement dans lequel vous définissez la variable d'environnement LD_LIBRARY_PATH).
A partir d'ArcGIS 10.1 Service Pack 1, le répertoire DatabaseSupport contient un répertoire nommé 9.1. Si vous comptez vous connecter à une base de données PostgreSQL 9.1, utilisez plutôt la bibliothèque st_geometry.so qui se trouve dans ce répertoire.
A partir d'ArcGIS 10.1 10.2, le répertoire DatabaseSupport contient également un répertoire nommé 9.2. Si vous comptez vous connecter à une base de données PostgreSQL 9.2, utilisez plutôt la bibliothèque st_geometry.so qui se trouve dans ce répertoire.
Si vous ne placez pas la bibliothèque st_geometry.so appropriée dans le répertoire lib de PostgreSQL, vous ne pourrez pas créer de géodatabase.
Attention :Le répertoire DatabaseSupport d'ArcGIS for Server est créé avec des permissions de 700. Lorsque vous vous connectez en tant qu'utilisateur racine pour déplacer le fichier st_geometry.so vers le répertoire de bibliothèque PostgreSQL, définissez des permissions de 755 sur le fichier. Si vous ne le faites pas, l'utilisateur postgres ne peut pas accéder à ce répertoire pour créer une géodatabase.
- Créez un tablespace dans le cluster de bases de données dans lequel stocker votre base de données. Si vous ne créez aucun tablespace, le tablespace pg_default est utilisé.
- Créez une base de données, un utilisateur et une structure sde et enfin une géodatabase en effectuant l'une des opérations suivantes :
- Exécutez l'outil de géotraitement Créer la géodatabase d'entreprise à partir d'ArcGIS for Desktop (Standard ou Advanced) sur un ordinateur Windows distant.
- Exécutez un script Python depuis un ordinateur exécutant ArcGIS for Desktop (Standard ou Advanced), ArcGIS Engine avec l'extension Geodatabase Update ou ArcGIS for Server Enterprise (Standard ou Advanced). Vous trouverez un exemple de script dans la rubrique Scripts de création de base de données et de géodatabase dans PostgreSQL. Copiez-le et modifiez-le pour l'exécuter sur votre site.
Vous pouvez également créer manuellement une base de données, un utilisateur sde et une structure, puis exécuter l'outil de géotraitement Activer une géodatabase d'entreprise depuis un ordinateur Windows distant, ou lancer un script Python appelant EnableEnterpriseGeodatabase sur l'ordinateur Linux qui héberge ArcGIS Engine, avec l'extension Geodatabase Update, ou ArcGIS for Server Enterprise (Standard ou Advanced).
Configuration d'une géodatabase dans PostgreSQL sur un serveur Windows
Voici la procédure à suivre pour créer une géodatabase dans PostgreSQL sous Windows :
- Procurez-vous une version prise en charge de PostgreSQL, installez-la et configurez l'agrégat de bases de données.
Vous pouvez télécharger des installations PostgreSQL à partir du portail d'assistance client Esri. Si vous utilisez cette installation, aucun paramètre autre que ceux par défaut n'est nécessaire pour utiliser PostgreSQL avec ArcGIS. N'oubliez pas de modifier les paramètres régionaux et les paramètres d'emplacement si vous voulez utiliser des paramètres spécifiques autres que ceux par défaut.
Vous pouvez également vous procurer l'installation de PostgreSQL par vous-même. Pour plus d'instructions sur l'installation et la configuration de PostgreSQL, consultez la documentation sur le site Web PostgreSQL.
- Configurez le cluster de bases de données pour accepter les connexions.
Cela suppose que vous modifiiez le fichier pg_hba.conf pour que l'agrégat de bases de données accepte les connexions à distance.
- Installez le client ArcGIS à partir duquel vous allez créer la géodatabase.
- Téléchargez PostgreSQL Client Libraries (si votre client ArcGIS est sous Windows) ou RPM (si votre client ArcGIS est sous Linux) sur le portail d'assistance client Esri et placez-les dans le répertoire bin du client ArcGIS que vous avez installé à la dernière étape. Reportez-vous à la rubrique Configuration d'une connexion à PostgreSQL pour plus d'informations.
- Copiez la bibliothèque st_geometry dans le répertoire d'installation de PostgreSQL.
Le fichier st_geometry.dll à utiliser avec PostgreSQL 9.0 se trouve dans le répertoire DatabaseSupport du répertoire d'installation du client ArcGIS. Déplacez le fichier st_geometry.dll du client ArcGIS vers le répertoire lib PostgreSQL sur le serveur PostgreSQL.
Si vous comptez vous connecter à une base de données PostgreSQL 9.1, utilisez plutôt la bibliothèque st_geometry.dll qui se trouve dans le répertoire 9.1.
Si vous comptez vous connecter à une base de données PostgreSQL 9.2, utilisez plutôt la bibliothèque st_geometry.dll qui se trouve dans le répertoire 9.2.
Remarque :Si vous ne placez pas la bibliothèque st_geometry.dll appropriée dans le dossier lib de PostgreSQL, vous ne pourrez pas créer de géodatabase.
Notez également que la bibliothèque st_geometry.dll requiert le paquetage distribuable Microsoft Visual C++ 2008 SP1 (x64). Si ce paquetage n'est pas présent sur le serveur PostgreSQL, téléchargez-le depuis le site de Microsoft et installez-le.
- Créez un tablespace dans le cluster de bases de données dans lequel stocker votre base de données. Si vous ne créez aucun tablespace, le tablespace pg_default est utilisé.
- Créez une base de données, un utilisateur et une structure sde et enfin une géodatabase en effectuant l'une des opérations suivantes :
- Exécutez l'outil de géotraitement Créer une géodatabase d'entreprise d'ArcGIS for Desktop (Standard.
- Exécutez un script Python depuis un ordinateur exécutant ArcGIS for Desktop (Standard ou Advanced), ArcGIS Engine avec l'extension Geodatabase Update ou ArcGIS for Server Enterprise (Standard ou Advanced). Vous trouverez un exemple de script dans la rubrique Scripts de création de base de données et de géodatabase dans PostgreSQL. Copiez-le et modifiez-le pour l'exécuter sur votre site.
Vous pouvez également créer manuellement une base de données, un utilisateur sde et une structure, puis exécuter l'outil de géotraitement Activer une géodatabase d'entreprise ou un script Python pour créer une géodatabase dans la base de données créée au préalable.
Configuration supplémentaire facultative
Certains scénarios vous obligent à utiliser des outils supplémentaires pour terminer la configuration de votre géodatabase, par exemple lorsque vous souhaitez utiliser un service ArcSDE pour établir des connexions ou lorsque plusieurs géodatabases sont nécessaires dans le même cluster de bases de données PostgreSQL. Pour en savoir plus sur la création de plusieurs géodatabases dans le même cluster de bases de données, reportez-vous à la rubrique Création de plusieurs géodatabases dans PostgreSQL.
Pour utiliser un service ArcSDE, vous devez installer et configurer le serveur d'applications ArcSDE. Consultez le guide d'installation fourni avec le serveur d'applications ArcSDE pour prendre connaissance des instructions appropriées à ce scénario. Le programme d'installation du serveur d'applications ArcSDE peut se télécharger à partir du portail d'assistance client Esri.