conexión python y postgresql

Iniciado por franfis, 12 Agosto 2010, 03:47 AM

0 Miembros y 1 Visitante están viendo este tema.

franfis

 :) Holas a todos del foro, tengo un pequeño inconveniente en cuando trato de conectarme por medio de python a postgresql.

Uso Eclipse como editor, ya anexé el python a eclipse, bueno quiero probar a conectarme a potsgresql, copié y peguéel siguiente codigo:

import pg
usuario = 'postgres'
base = 'music'
conecta = pg.connect(dbname=base,user=usuario)
consulta = 'select a.nombre, b.nombre from banda a, disco b where a.id_banda = b.id_banda'
resultado = conecta.query(consulta)
print resultado
conecta.close()   

Y me sale lo siguiente:

Traceback (most recent call last):
  File "/home/fran/workspace/conectividad/src/conectividad.py", line 4, in <module>
    conecta = pg.connect(dbname=base,user=usuario)
pg.InternalError: FATAL:  la autentificaci?n Ident fall? para el usuario <<postgres>>


A pesar que ya instale  python-pgsql  y python-pygresql-dbg y no se que paquetes mas..

Soy novato en esto de python  :silbar: , por favor ayudenme

Ecadlr

#1
Que onda franfis gracias yo tb estoy dandole a python tu codigo me sirvio de mucho pero chequea esta parte
Citar
Traceback (most recent call last):
 File "/home/fran/workspace/conectividad/src/conectividad.py", line 4, in <module>
   conecta = pg.connect(dbname=base,user=usuario)
pg.InternalError: FATAL:  la autentificaci?n Ident fall? para el usuario <<postgres>>

code_1.py
La parte de la autentificaci?n Ident fall? ahi esta el problema tu codigo esta bien sola la conexión esta incompleta

#! /bin/python
import pg
usuario='postgres'
clave='postgres'
base='postgres'

conexion=pg.connect(dbname=base,user=usuario,passwd=clave)
consulta='select * from tabla_alumno'

respuesta=conexion.query(consulta)

print respuesta


$./python code_1.py

id|nombre
--+------
1 |Bett0
2 |Ecadlr

Solo te falto el passwd ya que para conectarte a postgres y cualquier sgbd necesitas por lo menos tres cosas:

Usuario
Password
BaseDeDatos

Mod: lo siento, pero no se pueden dejar mails
0011  Inicio para un Final y un Final para un Inicio 1100

franfis

Hola Ecadir  ;D la situacion es que se debe configurar en el archivo pg_hba.conf el tipo de autentificacion, le puse en la opcion del usuario postgres, tipo de autenticacion "trust" y listo, para que me permita la conexión sin pedir clave.

Saludos  ;D

Ecadlr

#3
pos mi estimado es la misma situacion
aunque tu connecion hacia postgres sea de confianza pero en la funcion de connect python pide si o si el parametro de passwd aunque el usuario tenga o no tenga contraseña.

#! /bin/python
import pg
usuario='postgres'
clave=''
base='postgres'

conexion=pg.connect(dbname=base,user=usuario,passwd=clave)
consulta='select * from tabla_alumno'

respuesta=conexion.query(consulta)

print respuesta
0011  Inicio para un Final y un Final para un Inicio 1100