Tout d'abord, modifiez le fichier postgresql.conf et définissez listen_addresses
. La valeur par défaut de 'localhost' n'écoutera que sur l'adaptateur de bouclage. Vous pouvez le changer en '*', ce qui signifie écouter sur toutes les adresses, ou répertorier spécifiquement l'adresse IP des interfaces à partir desquelles vous souhaitez qu'il accepte les connexions. Notez qu'il s'agit de l'adresse IP que l'interface lui a attribuée, que vous pouvez voir en utilisant ifconfig
ou ip addr
commandes.
Vous devez redémarrer postgresql pour que les modifications apportées à listen_addresses prennent effet.
Ensuite, dans pg_hba.conf , vous aurez besoin d'une entrée comme celle-ci :
# TYPE DATABASE USER ADDRESS METHOD
host {dbname} {user} 192.168.1.0/24 md5
{dbname} est le nom de la base de données à laquelle vous autorisez l'accès. Vous pouvez mettre "tout" pour toutes les bases de données.
{user} est l'utilisateur autorisé à se connecter. Notez qu'il s'agit de l'utilisateur postgresql, pas nécessairement de l'utilisateur unix.
La partie ADRESSE est l'adresse réseau et le masque que vous souhaitez autoriser. Le masque que j'ai spécifié fonctionnera pour 192.168.1.x comme vous l'avez demandé.
La partie METHOD est la méthode d'authentification à utiliser. Il existe un certain nombre d'options. md5 signifie qu'il utilisera un mot de passe haché md5. La "confiance" que vous aviez dans votre échantillon signifie aucune authentification - ce n'est certainement pas recommandé.
Les modifications apportées à pg_hba.conf prendront effet après le rechargement du serveur. Vous pouvez le faire en utilisant pg_ctl reload
(ou via les scripts d'initialisation, selon la distribution de votre système d'exploitation).