Vous n'êtes pas identifié(e).

#1 13/10/2008 10:42:01

nano
Membre

connexion base de données en postgres

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

#2 13/10/2008 12:20:16

daamien
damien clochard

Re : connexion base de données en postgres

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

Hors ligne

#3 14/10/2008 11:33:51

nano
Membre

Re : connexion base de données en postgres

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

#4 14/10/2008 11:40:22

gleu
Administrateur

Re : connexion base de données en postgres

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

#5 30/10/2008 12:08:22

KrysKool
Administrateur

Re : connexion base de données en postgres

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

Pied de page des forums