Re: Graphe de dépendances entre les objets d'une base

From: Jonathan Ballet <jon(at)multani(dot)info>
To: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Graphe de dépendances entre les objets d'une base
Date: 2007-03-27 23:44:39
Message-ID: 20070328014439.74a34379@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Le Wed, 28 Mar 2007 00:47:25 +0200,
Guillaume Lelarge <guillaume(at)lelarge(dot)info> a écrit :
> postgresql-autodoc est capable de générer un fichier de ce type...
> mais je n'ai jamais réussi à en faire quoi que ce soit.

Je connaissais pas cette application, ça à l'air assez intéressant.
Faudra que je regarde, mais les exemples sont pas beau :(

> J'avais écrit un petit script Ruby pour ça :
>
> http://blog.guillaume.lelarge.info/index.php/post/2007/01/24/Comment-creer-une-image-representant-les-tables-et-leur-relations-a-partir-dune-base-PostgreSQL
> et un exemple en jpg :
> http://blog.guillaume.lelarge.info/public/pgruined/pagila.jpg
>
> Ne convient que pour des petites bases, n'est pas vraiment terminé,
> est plutôt un hack rapide. A utiliser juste pour voir.

Ah, niquel, ça correspond à ce que je cherchais :D
J'ai du faire quelques modifs pour que ça marche, et
pour l'adapter à la base en question :
- modification de PGconn.open en PGconn.connect (avec les paramètres
qui vont bien), car open est une méthode privée (dans ma version de
la bibliothèque postgres pour ruby que j'ai, en tout cas
libpgsql-ruby1.8, version 0.7.1 (paquet Debian Sid))
- correction de la récupération des valeurs pour la première requête
(ça à l'air de retourner une liste, plutôt qu'un hash)
- modification des requêtes SQL pour n'avoir que les identifiants des
tables (a.attname like '%id'), et pas le nom des arcs (ça allège un peu
le graphe)
- on ajoute un noeud, uniquement si le label n'est pas nul : vu que je
filtrais les identifiants et que j'ai des tables sans identifiants, la
génération du XML plantait (impossible de concaténer nil + String)

Au cas où, je mets le diff en pièce jointe ...

> Pour infos, c'est une des propositions pour un projet SoC de pgAdmin
> III.

Ah, c'est cool, j'avais même pas vu que des projets Postgres
participaient au SoC :(

Merci beaucoup en tout cas !

- Jonathan

Attachment Content-Type Size
diff-pg-ruined.diff text/x-patch 1.8 KB

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message SOUCHARD Jean-Michel DSIC BI 2007-03-28 05:03:28 RE: [pgsql-fr-generale] Graphe de dépendances entre les objets d'une base
Previous Message Guillaume Lelarge 2007-03-27 22:47:25 Re: Graphe de dépendances entre les objets d'une base