Lorsque vous le spécifiez :
psql -U user
il se connecte via UNIX Socket, qui utilise par défaut peer
l'authentification, sauf si cela est spécifié dans pg_hba.conf
autrement.
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 (à la fois IPv4 et IPv6) pour l'adresse spécifiée. database
y user
.
Après les changements, vous devez redémarrer postgres ou recharger sa configuration. Le redémarrage devrait fonctionner dans les distros 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 être différente selon la configuration du PATH - vous devrez peut-être spécifier le chemin absolu, qui peut être différent, selon la façon dont postgres a été installé.
Alors vous pouvez utiliser :
psql -h localhost -U user -d database
pour se connecter avec cette user
à l'endroit indiqué database
sur TCP/IP. md5
signifie mot de passe crypté, tandis que vous pouvez également spécifier password
pour les mots de passe en texte clair lors de l'autorisation. Ces deux 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 : Définition de l'ordre dans pg_hba.conf
questions - les règles sont lues de haut en bas, comme iptables, donc vous voulez probablement ajouter les règles proposées au-dessus de la règle :
host all all 127.0.0.1/32 ident
2 votes
Duplicata possible de PG L'authentification des pairs a échoué
1 votes
Maintenant, pour être invité à répondre aux questions ci-dessus, vous devez ajouter
--interactive
à la commande :createuser --interactive joe