Accueil > Informatique > Autoriser la connexion à un serveur PostgreSQL depuis le réseau local

Autoriser la connexion à un serveur PostgreSQL depuis le réseau local

Le problème est simple : je dispose d’une machine faisant tourner un serveur PostgreSQL 8.3.6 et je souhaiterais pouvoir m’y connecter depuis une machine distante de mon réseau local…

En fait il y a 2 fichiers à modifier dans la configuration de PostgreSQL :

1) pg_hba.conf
host all postgres 192.168.0.0/24 trust

Vous autorisez ici n’importe quelle machine du réseau local 192.68.0.x à vous connecter à votre serveur en tant que postgres et sans fournir de mot de passe.

On peut être plus restrictif et autoriser une seule machine, par exemple :
host all postgres 192.168.0.10/32 trust

2) postgresql.conf

Ici il faut changer le paramètre listen_addresses (par défaut il est sur localhost).

listen_addresses = '*'

Cela signifie que si mon serveur à une adresse IP publique 88.89.90.91, je pourrais me connecter avec par exemple la commande :
psql -U postgres -h 88.89.90.91

On peut aussi être plus restrictif et indiquer quelle adresse pourra être spécifiée par le client appelant :
listen_addresses = 'localhost, 192.168.0.100'

Ici si j’essaye de me connecter par :
psql -U postgres -h 88.89.90.91
cela ne fonctionnera pas, je serais obligé d’utiliser, depuis ma machine distante :
psql -U postgres -h 192.168.0.100

Ne pas oublier de recharger la configuration de PostgreSQL :
/etc/init.d/postgresql reload.

Categories: Informatique Tags: .: postgresql
  1. Titanz35
    17/09/2009 à 20:43 | #1

    Pour le pg_hba, il est quand même preferable de n autoriser que le localhost en trust, le reste en md5 ça marche bien 😉

  2. Marco
    18/09/2009 à 07:58 | #2

    Oui tout à fait, c’est plus prudent, je me focalisais surtout sur l’adresse des machines.

  1. Pas encore de trackbacks