Des outils pour générer un diagramme de tables de base de données avec Postgresql? [fermé]


172

Existe-t-il des outils gratuits pour générer des diagrammes de tableaux avec Postgresql?


6
Depuis que cette question s'est close, j'ai posé sur la recommandation logicielle SE: Générer des diagrammes de table de base de données à partir d'une base de données PostgreSQL
Franck Dernoncourt

Réponses:


184

J'adore schemaspy pour les visualisations de schémas. Regardez la sortie d'échantillon qu'ils fournissent et bave. Notez les onglets!

Vous devrez télécharger le pilote JDBC ici , puis votre commande devrait ressembler à quelque chose comme:

java -jar schemaspy-6.0.0-rc2.jar -t pgsql -db database_name -host myhost -u username -p password -o ./schemaspy -dp postgresql-9.3-1100.jdbc3.jar -s public -noads

Parfois, l'utilisation d'options -portne fonctionnera pas si votre base de données a un port différent, vous devez donc ajouter un port manuel après le paramètre hôte, par exemple:

java -jar schemaspy-6.0.0-rc2.jar -t pgsql -db database_name -host myhost:myport -u username -p password -o ./schemaspy -dp postgresql-9.3-1100.jdbc3.jar -s public -noads

Vous devrez également l'installer graphvizsi vous voulez des graphiques ( apt-get install graphvizpour les distributions basées sur Debian).


6
En fait, c'est graphviz :)
visionnaire

2
Schemaspy a fait cette astuce du premier coup. La mise en page du graphique de génération était excellente (même sur notre ensemble de tables complexes). Lorsque 100 tableaux font référence au même tableau, des lignes se chevauchent; cependant, la disposition générale compense cela et est parfaitement lisible / traçable.
pretzels1337

4
pour graphvizsimplement ajouter le -gv /path_to/graphvizà la commande
AzizSM

4
Sur mac, j'ai dû ajouter: -renderer: quartz pour éviter cette erreur: -Tcmapx 'a échoué avec le code de retour 139
slashdottir

7
Pour l'exécuter à l'aide de Docker sur le mac:docker run -v `pwd`/diagram:/output schemaspy/schemaspy:snapshot -t pgsql --port 5432 -u postgres -db <dbname> -host docker.for.mac.localhost -p <password>
ah

31

SchemaCrawler pour PostgreSQL peut générer des diagrammes de base de données à partir de la ligne de commande, à l'aide de GraphViz. Vous pouvez utiliser des expressions régulières pour inclure et exclure des tables et des colonnes. Il peut également déduire des relations entre les tables à l'aide de conventions de dénomination communes, si des clés étrangères ne sont pas définies.


18

La solution rapide que j'ai trouvée se trouvait dans le programme pgAdmin pour Windows. Sous le menu Outils, il y a un "Éditeur de requêtes". Dans l'éditeur de requêtes, il y a un générateur de requêtes graphique qui peut afficher rapidement les détails des tables de la base de données. Bon pour une vue basique


1
Je ne vois pas comment dessiner automatiquement des relations à l'aide de clés étrangères dans pgAdmin 1.20.0. Est-il pris en charge?
pyb

1
Bon conseil, bien qu'il semble que vous deviez dessiner vous-même tous les FK en utilisant des jointures de requête.
Andrew Swan

6
Cette fonctionnalité a été supprimée dans PgAdmin 4 en 2016. Elle pourrait être réimplémentée mais ne l'a pas été en 2019.
Noumenon



5

PostgreSQL Autodoc a bien fonctionné pour moi. C'est un simple outil de ligne de commande. Depuis la page Web:

Il s'agit d'un utilitaire qui fonctionnera à travers les tables système PostgreSQL et retournera HTML, Dot, Dia et DocBook XML qui décrit la base de données.


3
Le lien dans la réponse est rompu. Googlé et trouvé: github.com/cbbrowne/autodoc mais semble ne pas être entretenu.
nelsonic

@nelsonic en effet. Dois-je échanger les liens ou non? Cela ne semble pas provenir de la même personne qui le maintenait. Une sorte de fourchette, ça ressemble.
Faheem Mitha

J'ai demandé à l'auteur sur GitHub si le projet était maintenu: github.com/cbbrowne/autodoc/issues/2
nelsonic

@nelsonic Oui, j'ai vu la réponse. J'ai aussi posté bugs.debian.org/820208
Faheem Mitha

2
Vous pouvez créer un .png à partir du fichier de points en tant que tel: dot -Tpng my_database.dot -o my_database.png.
Kris

1

Dans Eclipse, j'ai utilisé le plugin Clay (ex Clay-Azurri). La version gratuite permet d'introspecter ("reverse engineering") un schéma DB existant (via JDBC) et de faire un schéma de certaines tables sélectionnées.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.