Par défaut, seuls les clients exécutés sur le même ordinateur que celui qui héberge l'agrégat de bases de données PostgreSQL peuvent s'y connecter. Pour permettre à des clients distants de se connecter à l'agrégat de bases de données, modifiez le fichier de configuration pg_hba.conf PostgreSQL.
Suivez les instructions propres au système d'exploitation sur lequel PostgreSQL est installé.
PostgreSQL est installé sur un serveur Linux
- Créez une copie de sauvegarde du fichier pg_hba.conf avant de le modifier.
- Si le postmaster PostgreSQL est déjà en cours d'exécution, arrêtez-le à l'aide de la commande d'arrêt pg_ctl.
- Ouvrez le fichier pg_hba.conf dans un éditeur de texte.
- Ajoutez les adresses IP des ordinateurs clients qui tentent de se connecter et les méthodes d'authentification des clients utilisées pour les connexions.
Par exemple, pour permettre à un utilisateur qui fournit un mot de passe valide de se connecter à une base de données nommée habitat à partir d'adresses commençant par 10.2.12 en utilisant une connexion md5, ajoutez la ligne suivante au fichier pg_hba.conf :
host habitat all 10.2.12.0/24 md5
Si vous souhaitez permettre à tous les utilisateurs qui fournissent un mot de passe valide de se connecter aux bases de données sur l'instance PostgreSQL à partir d'adresses commençant par 100, ajoutez une ligne similaire à la ligne suivante au fichier pg_hba.conf :
host all all 100.0.0.0/8 md5
Les exemples précédents concernaient pour les adresses IPV4. Si vous devez configurer le cluster de bases de données pour qu'il accepte les connexions d'ordinateurs avec une adresse IPV6, le format de la ligne à ajouter sera le suivant :
host all all fe60::61f9:1253:c522:9b92%10/128 md5
Pour permettre à tous les ordinateurs avec une adresse commençant par fe60 de se connecter, ajoutez cette ligne au fichier pg_hba.conf :
host all all fe60::0000:0000:0000:0000%10/8 md5
Si vous souhaitez que les ordinateurs avec une adresse IPV4 se connectent au cluster de bases de données PostgreSQL, alors que celui-ci est configuré sur un ordinateur avec une adresse IPV6, vous devez supprimer la ligne suivante dans le fichier pg_hba.conf :
host all all ::1/128 md5
- Enregistrez et fermez le fichier pg_hba.conf.
- Utilisez pg_ctl pour démarrer (ou redémarrer) le postmaster PostgreSQL.
PostgreSQL est installé sur un serveur Windows
Vous pouvez modifier directement le fichier pg_hba.conf en l'ouvrant dans un éditeur de texte ou à l'aide de l'application PgAdminIII.
- Créez une copie de sauvegarde du fichier pg_hba.conf avant de le modifier.
- Ouvrez le fichier pg_hba.conf en effectuant l'une des opérations suivantes :
- Démarrez PgAdminIII, connectez-vous à l'instance PostgreSQL en tant que superutilisateur postgres, connectez-vous à la base de données, cliquez ensuite sur Outils, pointez sur Configuration du serveur et cliquez sur pg_hba.conf.
- Démarrez le Bloc-notes ou un autre éditeur de texte et ouvrez le fichier pg_hba.conf à partir du répertoire d'installation de PostgreSQL.
- Ajoutez les adresses IP des ordinateurs clients qui tentent de se connecter et les méthodes d'authentification des clients utilisées pour les connexions.
Par exemple, pour permettre à un utilisateur qui fournit un mot de passe valide de se connecter à une base de données nommée habitat à partir d'adresses commençant par 10.2.12 en utilisant une connexion md5, ajoutez la ligne suivante au fichier pg_hba.conf :
host habitat all 10.2.12.0/24 md5
Si vous souhaitez permettre à tous les utilisateurs qui fournissent un mot de passe valide de se connecter aux bases de données sur l'instance PostgreSQL à partir d'adresses commençant par 100, ajoutez une ligne similaire à la ligne suivante au fichier pg_hba.conf :
host all all 100.0.0.0/8 md5
Les exemples précédents concernaient pour les adresses IPV4. Si vous devez configurer le cluster de bases de données pour qu'il accepte les connexions d'ordinateurs avec une adresse IPV6, le format de la ligne à ajouter sera le suivant :
host all all fe60::61f9:1253:c522:9b92%10/128 md5
Pour permettre à tous les ordinateurs avec une adresse commençant par fe60 de se connecter, ajoutez cette ligne au fichier pg_hba.conf :
host all all fe60::0000:0000:0000:0000%10/8 md5
Si vous souhaitez que les ordinateurs avec une adresse IPV4 se connectent au cluster de bases de données PostgreSQL, alors que celui-ci est configuré sur un ordinateur avec une adresse IPV6, vous devez supprimer la ligne suivante dans le fichier pg_hba.conf :
host all all ::1/128 md5
- Enregistrez les modifications apportées au fichier et fermez-le.