Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
je vien d'installer postgres sous fedora en suivant le lien "http://doc.fedora-fr.org/wiki/Installat … PostgreSQL".
Mais la j'ai un probleme de connexion vers la base de données.
je travail avec python et sqlalchemy mon script python me donne cet erreur: " in connect
raise exceptions.DBAPIError.instance(None, None, e)
sqlalchemy.exceptions.OperationalError: (OperationalError) FATAL: Ident authentication failed for user "postgres"
None None".
Merci pour toute aide.
Hors ligne
salut !
- as-tu réussi à te connecter direment avec psql ?
- quel est le contenu de ton fichier pg_hba.conf ?
Au passage, il n'est pas recommandé d'utiliser l'utilisateur 'postgres' pour te connecter à partir de ton appli python. si tu peux le faire créée un autre utilisateur avec la commande CREATE ROLE
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
bonjour,
merci pour votre réponse.
j'ai pu me connecté avec les commandes psql.
le contenu du fichier pg_hda.conf est
"
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 ident sameuser
# IPv6 local connections:
host all all ::1/128 ident sameuser
"
Hors ligne
Un premier problème peut survenir de l'option « sameuser ». Cette option fait qu'un utilisateur ne peut se connecter qu'à une base de même nom : l'utilisateur postgres sur la base postgres, l'utilisateur toto sur la base toto, etc. Ça m'étonnerait beaucoup qu'Alchemy utlise la base postgres. Donc, soit tu crées un utilisateur de même nom que ta base et tu configures Alchemy pour qu'il se connecte avec cet utilisateur, soit tu supprimes l'option « sameuser ».
Autre chose, l'identification ident n'est certainement pas le mieux. md5 est généralement plus sécurisé. Il faudrait que tu regardes ce qu'accepte Alchemy pour se connecter à une base PostgreSQL.
Guillaume.
Hors ligne
Bonjour
j'apporte un petit éclaircissement au fichier pg_hba.conf
Je laisse par défaut ident sameuser pour la ligne contenant local
# "local" is for Unix domain socket connections only
local all all ident sameuser
çà permet de se connecter via su - postgres à partir du root.
ensuite pour la ligne host je remplace ident sameuser par md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
ce qui permet de, à partir de script de pouvoir s'indentifier avec le mot de passe de l'utilisateur qui se trouve dans la base.
il convient de créer un autre utilisateur dans la base de données ainsi que qu'une base de données associée et de les utilisés dans vos scripts python.
Christophe Chauvet
Directeur Technique
Sylëam Info Services
Mon site
Hors ligne
Pages : 1