La liste suivante récapitule les étapes requises pour se connecter d’ArcGIS à une base de données PostgreSQL, y compris une base de données contenant une géodatabase d’entreprise :
- Vérifiez que le nom de la base de données est conforme à la configuration système requise pour ArcGIS Server.
- Assurez-vous que PostgreSQL accepte les connexions à partir des machines clientes ArcGIS nécessitant un accès.
- Créez une connexion à une base de données.
- Pour publier les services Web ArcGIS Server qui référencent les données de votre base de données PostgreSQL, inscrivez le fichier de connexion à une base de données auprès de vos sites ArcGIS Server.
Les fichiers clients PostgreSQL sont installés avec ArcGIS Pro et ArcGIS Server ; il n’est pas nécessaire d’installer un client PostgreSQL ou de définir des variables d’environnement pour accéder au client.
Configurer la bases de données pour qu'elle accepte les connexions
Par défaut, seuls les clients exécutés sur le même ordinateur que celui qui héberge la grappe de bases de données PostgreSQL peuvent s’y connecter. Pour permettre à des clients distants de se connecter à la grappe de bases de données et déterminer les bases de données auxquelles ils ont accès, modifiez le fichier de configuration PostgreSQL de pg_hba.conf. Les entrées que vous placez dans le fichier pg_hba.conf varient en fonction des stratégies de sécurité et des configurations sur votre site.
Lisez la documentation PostgreSQL pour obtenir des instructions.
Connexion à la base de données
Vous pouvez utiliser la boîte de dialogue Database Connection (Connexion à une base de données) d’ArcGIS Pro pour vous connecter à la base de données, comme décrit ci-dessous.
Une autre possibilité consiste à exécuter l’outil Créer une connexion à une base de données dans ArcGIS Pro ou à utiliser Python pour exécuter la commande Créer une connexion à une base de données à partir d’une machine ArcGIS Server pour créer un fichier de connexion à une base de données (.sde) qui se connecte à une base de données.
Pour utiliser le fichier de connexion à une base de données avec ArcGIS Server, vous devez enregistrer les informations utilisateur avec le fichier de connexion.
Si vous choisissez d’utiliser plutôt l’authentification du système d’exploitation, vérifiez que PostgreSQL peut authentifier le compte ArcGIS Server.
Conseil :
Assurez-vous que le compte utilisé pour la connexion dispose des privilèges appropriés dans la base de données et sur les données auxquelles il doit accéder. Si la connexion utilise l’authentification du système d’exploitation et que vous allez publier des services Web avec cette connexion, assurez-vous que le compte ArcGIS Server dispose des privilèges requis sur les données comprises dans le service Web. Pour plus d’informations, consultez les rubriques Privilèges pour les géodatabases dans PostgreSQL et Privilèges pour l’utilisation d’ArcGIS avec une base de données PostgreSQL.
Procédez comme suit pour vous connecter à une base de données PostgreSQL à partir de la boîte de dialogue Database Connection (Connexion à une base de données) dans ArcGIS Pro :
- Ouvrez la fenêtre Catalog (Catalogue) dans ArcGIS Pro.
- Cliquez avec le bouton droit sur Databases (Bases de données) ou sur un dossier sous Folders (Dossiers), et sélectionnez New Database Connection (Nouvelle connexion à une base de données).
- Sélectionnez PostgreSQL dans la liste déroulante Plateforme de la base de données.
- Dans la zone de texte Instance, saisissez le nom de la grappe de bases de données ou l’adresse IP du serveur qui héberge PostgreSQL.
Voici des exemples d’informations à inclure dans la zone de texte Instance :
- Si l’agrégat de bases de données PostgreSQL se trouve sur un serveur nommé ficus, saisissez ficus dans la zone de texte Instance.
- Si l’agrégat de bases de données PostgreSQL écoute sur un port autre que le port par défaut (5432), indiquez le numéro de port dans l’instance. Par exemple, si PostgreSQL est installé sur un serveur nommé mamabear et qu’il écoute sur le port 49200, saisissez mamabear,49200 dans la zone de texte Instance.
- Pour accéder au serveur où PostgreSQL est installé avec une adresse IPV6, saisissez-la entre crochets. Par exemple, si l’adresse IPV6 du serveur est 1111:aa1:0:1:f111:a222:33f3:b4bb, saisissez [1111:aa1:0:1:f111:a222:33f3:b4bb] dans la zone de texte Instance.
- Pour une instance Amazon Aurora (PostgreSQL-compatible edition) ou Amazon RDS for PostgreSQL, fournissez son nom au format <database_instance_identifier>.<region_id>.rds.amazonaws.com. Par exemple, si vous avez créé l’instance avec l’identifiant mypgrdsdb dans la région Amazon Web Services us-east-1, saisissez mypgrdsdb.us-east-1.rds.amazonaws.com dans la zone de texte Instance.
- Pour une instance Google Cloud SQL for PostgreSQL, saisissez son adresse IP publique dans la zone de texte Instance.
- Pour une instance Microsoft Azure Cosmos DB for PostgreSQL, la chaîne de connexion se trouve au format c.<cluster_name>.postgres.database.azure.com. Par exemple, si vous avez nommé l’agrégat allmydata au moment de sa création, saisissez c.allmydata.postgres.database.azure.com dans la zone de texte Instance.
- Pour une instance Microsoft Azure Database for PostgreSQL, son nom est au format <server_name>.postgres.database.azure.com. Par exemple, si vous avez nommé le serveur spatialdata au moment de sa création, saisissez spatialdata.postgres.database.azure.com dans la zone de texte Instance.
Remarque :
Si l’agrégat de bases de données PostgreSQL écoute sur un port autre que le port par défaut (5432), vous pouvez indiquer le numéro de port dans l’instance. Si, par exemple PostgreSQL est installé sur le serveur mamabear et qu’il écoute sur le port 49200, saisissez mamabear,49200 dans la zone de texte Instance. Vous pouvez également indiquer le numéro de port sous forme de propriété complémentaire (voir l’étape 8 ci-dessous).
- Choisissez le type d'authentification à utiliser lorsque vous vous connectez à la base de données : Authentification de la base de données ou Authentification du système d'exploitation.
- Si vous cliquez sur Operating system authentication (Authentification du système d’exploitation), vous n’avez pas besoin d’entrer un nom d’utilisateur et un mot de passe : la connexion est établie avec le nom de connexion et le mot de passe SSPI (Security Support Provider Interface), LDAP (Lightweight Directory Access Protocol) ou GSSAPI (Generic Security Service Application Program Interface) utilisés pour ouvrir une session dans le système d’exploitation. Si la connexion utilisée pour le système d’exploitation n’est pas appariée à une connexion de base de données valide, la connexion échoue.
Si vous choisissez Database authentication (Authentification de la base de données), vous devez fournir un nom d’utilisateur et un mot de passe valides dans les zones de texte User name (Nom d’utilisateur) et Password (Mot de passe). La longueur maximale des noms d’utilisateur est de 30 caractères.
Décochez la case Enregistrer le nom d’utilisateur et le mot de passe si vous préférez ne pas enregistrer les informations de connexion avec la connexion. Cela peut vous aider à sécuriser la base de données. Toutefois, si vous procédez ainsi, vous serez invité à fournir un nom d’utilisateur et un mot de passe à chaque connexion.
Remarque :
L’option Save user name and password (Enregistrer le nom d’utilisateur et le mot de passe) doit être activée pour les fichiers de connexion offrant des services ArcGIS avec accès à la base de données, ou si vous souhaitez localiser dans ArcGIS Pro les données accessibles via ce fichier de connexion.
- Saisissez ou choisissez le nom de la base de données à laquelle vous souhaitez vous connecter dans la grappe de bases de données PostgreSQL.
- Saisissez un nom pour le fichier de connexion dans le champ Connection File Name (Nom du fichier de connexion).
Lorsque vous indiquez les informations de connexion, un nom par défaut est créé. Vous pouvez utiliser ce nom par défaut ou saisir un nom de fichier plus descriptif.
Il s’agit du nom qui apparaîtra dans la fenêtre et dans la vue Catalog (Catalogue) et du nom du fichier .sde stocké sur le disque.
- Si l’agrégat de bases de données PostgreSQL communique via un port différent du port par défaut, développez la section Additional Properties (Propriétés supplémentaires), choisissez Port dans le menu déroulant Property (Propriété) et saisissez le port approprié dans le champ Value (Valeur).
- Cliquez sur Validate (Valider) pour confirmer que les informations de connexion sont valides et que la base de données est accessible.
Si la base de données contient une géodatabase et que la connexion est valide, l’onglet Geodatabase Properties (Propriétés de la géodatabase) est désormais actif. Le cas échéant, vous pouvez modifier les propriétés de connexion à la géodatabase pour établir une connexion à une version traditionnelle autre que la version par défaut, configurer la connexion en tant que connexion à une version de branche ou établir une connexion à un moment historique.
- Cliquez sur OK pour créer le fichier de connexion.
Une connexion à une base de données s’affiche sous Databases (Bases de données) dans la fenêtre Catalog (Catalogue) et un fichier de connexion (.sde) est créé dans le répertoire de projet ArcGIS Pro.
Inscrire la connexion auprès d’ArcGIS Enterprise
Pour autoriser les sites ArcGIS Server à accéder aux données, utilisez le fichier de connexion à une base de données que vous avez créé afin d’ajouter un data store inscrit dans ArcGIS Pro ou d’ajouter un élément de data store dans le portail.
L’inscription d’une connexion à l’aide de l’authentification du système d’exploitation nécessite ArcGIS Enterprise 11.1 ou version supérieure. Le compte ArcGIS Server utilisé pour exécuter ArcGIS Server doit être une connexion SSPI ou LDAP appariée à un rôle de connexion dans PostgreSQL. Ce rôle de connexion doit disposer de privilèges sur les tables à publier à partir de la géodatabase ou de la base de données PostgreSQL.
Vous avez un commentaire à formuler concernant cette rubrique ?