jeudi 22 janvier 2015

PostgresSql et Python avec psyco2

Nous avons une belle DB PostgreSql utilisé par notre programme de production (Clipper compilé avec Harbour Project, Mediator utiliser pour l'accès DB).

Voulant afficher les stats d'expéditions journalière le moniteur d'un portable de récup, je me suis demandé s'il était possible d'attaquer notre DB à partir d'un script Python.
Après quelques recherches sur le Net, je suis rapidement venu et revenu vers PsycoPg2.

Bibliothèque PsycoPG2 - Accéder à vos DB PostgresSql en Python.
Il vaut avouer qu'avec cette bibliothèque, cela devient un vrai jeu d'enfant.
Non seulement il est possible d'accéder facilement à une DB PostgreSql mais en plus, les données sont accessible dans le plus pure esprit Pythonien!
Il est possible:
  • D'exécuter des requêtes SQL
  • Lire un seul enregistrement (FetchOne)
  • Lire  tous les enregistrement (FetchAll)
  • Ou d'utiliser un curseur sur le serveur de base de donnée (pour ne pas charger massivement vos milliers de records en une fois).
  • Supporte les transactions (commit après plusieurs insertions).
  • etc.
Après avoir fait quelques tests (Linux Mint 17.1), je peux vous affirmer que c'est de la balle!

Installation
Sur Linux Mint (Ubuntu), l'installation se résume à:

sudo apt-get install python-Psycopg2

Il semblerait qu'il soit parfois compliqué de trouver les paquets pour certaines distribution. Sachez que la documentation officielle (crf liens ci-dessous) reprend quelques notes concernant la compilation de la bibliothèque.

Des tutoriels
Connaître une bonne bibliothèque c'est bien mais avec de la doc c'est mieux.
Voici donc quelques ressources incontournables.

Aucun commentaire: