Simple et efficace:

import sys

try:
    import psycopg2
except:
    print "psycopg2 n'est pas installe: apt-get install python-psycopg2"
    sys.exit()

database="dbname"
user="username"
password="password"
host="hostname"

requete="select * from matable"

try:
    conn = psycopg2.connect("dbname=%s user=%s host=%s" % (database,user,host));
    cur = conn.cursor()
    cur.execute(requete)
    rows=cur.fetchall()
    for value in rows:
        print value
except psycopg2.OperationalError:
    print "erreur de connexion a la base de donnees"
    sys.exit(1)
except:
    print "erreur lors de l'execution de la requete"
    sys.exit(1)

Pour redhat, le package psycopg2 est disponible dans le repository EPEL:

  • rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
  • yum install python-psycopg2

Vous trouverez ici les spec de la Database API Python.