Vous n'êtes pas identifié(e).
Bonjour,
actuellement en train de prendre des cours, je suis en train d'essayer de rendre possible la connexion à ma base de donnée sans mdp pour ensuite pouvoir utiliser des commande de type "dropdb ocolis".
J'ai un super user "elcrest" (à qui appartient la bdd ocolis ci-dessus d'ailleurs) mais lorsque j'utilise la commande "dropdb" j'ai cette erreur:
dropdb: erreur : la connexion au serveur sur « localhost » (::1), port 5432 a échoué : FATAL: authentification par mot de passe échouée pour l'utilisateur « JudeM »
Alors effectivement, on me demande mon mot de passe alors je met celui de "elcrest", mais ensuite on m'en demande un autre et peu importe quel mdp je met ça me retourne cette erreur, je n'ai aucun utilisateur ayant le nom "JudeM " et j'en ai jamais créer non plus, alors je ne comprends pas pourquoi peu importe ce que j'essaie de faire, il me parle de ce soit disant utilisateur
Je tiens d'ailleurs à préciser que "JudeM" est le nom de ma session windows.
Voici ce que contient mon fichier pg_hba.conf:
# TYPE DATABASE USER ADDRESS METHOD
local all elcrest trust
# "local" is for Unix domain socket connections only
local all all scram-sha-256
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all scram-sha-256
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
Je fait tout ça dans l'optique d'utiliser sqitch et lorsque je fait un "sqitch deploy" je reçois cette erreur:
fe_sendauth: no password supplied
Mais je me dis que régler cette histoire avec postgres devrait arranger ça.
Merci de m'avoir lu et désolé si c'est un peu long. Merci d'avance pour votre aide !
Hors ligne
Bonjour,
le JudeM vient effectivement de votre nom d'utilisateur système, qui est utilisé par défaut si vous ne précisez rien car il faut bien que postgres se connecte avec un nom d'utilisateur. Vous pouvez utiliser -U eclrest dans votre cas.
Concernant votre configuration, en supposant que la configuration ait été rechargée, la connexion sans mot de passe n'est possible que pour l'utilisateur eclrest (donc le -U est nécessaire), mais également uniquement en connextion "local", c'est-à-dire socket unix (qui sont supportées par windows depuis quelques temps). Il faut donc pointer vers cette socket. En supposant que la socket se trouve sur c:\la_socket il faudrait spécifier "dropdb -U eclrest -h c:\la_socket ocolis".
Si votre version de postgres et/ou de windows ne supporte pas les socket unix, vous pouvez configurer une ligne en trust pour une socket ip.
Je précise toutefois que même s'il s'agit d'une machine locale c'est en général une mauvaise idée de faire ça, vous pouvez toujours utiliser le fichier pgpass.conf pour stocker le mot de passe et ne pas avoir à le fournir explicitement à chaque fois (https://www.postgresql.org/docs/current … gpass.html), ou mettre en place une authentication via certificat (ou peer si vous avez bien une socket unix).
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour la réponse ! Tout fonctionne, je voulais retirer la sécurité même juste provisoirement dans le cadre de ma formation, j'imagine bien que ce n'est pas forcément la meilleure chose à faire pour travailler.
Merci encore !
Hors ligne