Por lo poco que pude leer en el
tutorial de Psycopg2
Debes de hacer un fetchall
El hecho de que un select arroje una excepción, no indica que no se encontró ningún resultado, indica que no se pudo realizar la acción.
Código Python:
Ver originalimport psycopg2
cn = psycopg2.connect("host=localhost dbname=my_db user=postgres password=xxxxxx")
cur = cn.cursor()
relacio = 331232111222022112121122211121121111132213212222123121111111
#
#si no existe se inserta nuevo registro y si existe pasa ya que esta registrado
#
try:
#seleccionar registro
cur.execute("SELECT * from tabla_pendientes WHERE sesentapendientes = %s", (relacio,)) #Si falla el query arroja una excepcion
filas = cur.fetchall() #En este caso, no falla, pero no hay elementos en la lista
if filas:
print "Encontrado"
for fila in filas:
print fila
else:
print "NO encontrado, insertando..."
cur.execute("INSERT INTO tabla_pendientes (sesentapendientes) VALUES (%s)", (relacio,))
cn.commit()
except:
print "Error en un query"
Para el resaltado de sintaxis te recomiendo que
leas esto.
Edito: No tengo psycopg2 instalado y tampoco PostgreSQL, así que no pude probar si el script se encuentra bien. Pero debería de funcionar a menos que tenga algún error de dedo.