Lorsque vous spécifiez:
psql -U user
il se connecte via UNIX Socket, qui utilise par défaut l' peer
authentification, sauf pg_hba.conf
indication contraire.
Vous pouvez spécifier:
host database user 127.0.0.1/32 md5
host database user ::1/128 md5
pour obtenir une connexion TCP / IP sur l'interface de bouclage (IPv4 et IPv6) pour spécifié database
et user
.
Après les modifications, vous devez redémarrer postgres ou recharger sa configuration. Redémarrez qui devrait fonctionner dans les distributions modernes basées sur RHEL / Debian:
service postgresql restart
Le rechargement devrait fonctionner de la manière suivante:
pg_ctl reload
mais la commande peut différer en fonction de la configuration de PATH - vous devrez peut-être spécifier un chemin absolu, qui peut être différent, selon la façon dont le postgres a été installé.
Ensuite, vous pouvez utiliser:
psql -h localhost -U user -d database
pour vous connecter avec celui user
spécifié database
sur TCP / IP.
md5
signifie mot de passe crypté, tandis que vous pouvez également spécifier password
des mots de passe en texte brut lors de l'autorisation. Ces 2 options ne devraient pas être d'une grande importance tant que le serveur de base de données n'est accessible que localement, sans accès au réseau.
Remarque importante:
ordre de définition en la pg_hba.conf
matière - les règles sont lues de haut en bas, comme iptables, donc vous voudrez probablement ajouter des règles proposées au-dessus de la règle:
host all all 127.0.0.1/32 ident