Lorsque vous spécifiez:
psql -U user
il se connecte via UNIX Socket, qui utilise par défaut l' peerauthentification, sauf pg_hba.confindication 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é databaseet 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 userspécifié databasesur TCP / IP.
md5signifie mot de passe crypté, tandis que vous pouvez également spécifier passworddes 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.confmatiè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