17.4 Connexion à une base de données PostgreSQL distante

Si votre base de données PostgreSQL est installée sur un serveur distinct, vous devez modifier les paramètres par défaut dans les fichiers postgresql.conf et pg_hba.conf dans la base de données distante.

  1. Modifiez l'adresse d'écoute dans le fichier postgresql.conf.

    Par défaut, PostgreSQL permet d'écouter la connexion de l'hôte local, mais n'autorise pas une connexion TCP/IP à distance. Pour autoriser une connexion TCP/IP à distance, ajoutez l'entrée suivante au fichier C:\NetIQ\idm\postgres\data\postgresql.conf :

    listen_addresses = '*'

    Si vous disposez de plusieurs interfaces sur le serveur, vous pouvez spécifier une interface spécifique à écouter.

  2. Ajoutez une entrée d'authentification client au fichier pg_hba.conf.

    Par défaut, PostgreSQL accepte uniquement les connexions provenant de localhost (hôte local). Il refuse les connexions à distance. Cela est contrôlé par l'application d'une règle de contrôle d'accès qui permet à un utilisateur de se connecter à partir d'une adresse IP après avoir entré un mot de passe valide (mot clé md5). Pour accepter une connexion à distance, ajoutez l'entrée suivante au fichier C:\NetIQ\idm\postgres\data\pg_hba.conf.

    host all all 0.0.0.0/0 md5

    Par exemple : 192.168.104.24/26 trust

    Cela fonctionne uniquement pour les adresses IPv4. Pour les adresses IPv6, ajoutez l'entrée suivante :

    host all all ::0/0 md5

    Si vous souhaitez autoriser la connexion à partir de plusieurs ordinateurs client sur un réseau spécifique, indiquez l'adresse réseau au format d'adresse CIDR dans cette entrée.

    Le fichier pg_hba.conf prend en charge les formats d'authentification client suivants.

    • local database user authentication-method [authentication-option]

    • host database user CIDR-address authentication-method [authentication-option]

    • hostssl database user CIDR-address authentication-method [authentication-option]

    • hostnossl database user CIDR-address authentication-method [authentication-option]

    Au lieu du format d'adresse CIDR, vous pouvez spécifier l'adresse IP et le masque de réseau dans des champs distincts à l'aide du format suivant :

    • host database user IP-address IP-mask authentication-method [authentication-option]

    • hostssl database user IP-address IP-mask authentication-method [authentication-option]

    • hostnossl database user IP-address IP-mask authentication-method [authentication-option]

  3. Testez la connexion à distance.

    1. Redémarrez le serveur PostgreSQL à distance.

    2. Connectez-vous au serveur à distance à l'aide du nom d'utilisateur et du mot de passe.