Strumenti per generare il diagramma delle tabelle del database con Postgresql? [chiuso]


172

Esistono strumenti gratuiti per generare diagrammi di tabelle con Postgresql?


6
Da quando questa domanda è stata chiusa, ho chiesto alla raccomandazione software SE: Genera diagrammi di tabelle di database da un database PostgreSQL
Franck Dernoncourt

Risposte:


184

Adoro lo schema per le visualizzazioni dello schema. Guarda l'output di esempio che forniscono e sbava. Nota le schede!

Dovrai scaricare il driver JDBC qui , quindi il tuo comando dovrebbe assomigliare a:

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

A volte l'utilizzo delle opzioni -portnon funzionerà se il database ha una porta diversa, quindi è necessario aggiungere la porta manuale dopo il parametro host, ad esempio:

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

Dovrai installare graphvizanche se vuoi grafica ( apt-get install graphvizper distribuzioni basate su Debian).


6
In realtà è graphviz :)
visionario

2
Schemaspy ha fatto questo trucco al primo tentativo. Il layout del grafico generato era eccezionale (anche sul nostro complesso set di tabelle). Quando 100 tabelle fanno riferimento alla stessa tabella ci saranno linee sovrapposte; tuttavia il layout complessivo compensa questo ed è perfettamente leggibile / tracciabile.
pretzels1337,

4
poiché graphvizbasta aggiungere il -gv /path_to/graphvizcomando al comando
AzizSM il

4
Su Mac ho dovuto aggiungere: -renderer: quarzo per evitare questo errore: -Tcmapx 'fallito con codice di ritorno 139
slashdottir

7
Per eseguire questo utilizzando Docker sul 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 per PostgreSQL può generare diagrammi di database dalla riga di comando, con l'aiuto di GraphViz. È possibile utilizzare espressioni regolari per includere ed escludere tabelle e colonne. Può anche dedurre le relazioni tra le tabelle usando convenzioni di denominazione comuni, se non vengono definite chiavi esterne.


18

La soluzione rapida che ho trovato era all'interno del programma pgAdmin per Windows. Nel menu Strumenti è presente uno "Strumento di query". All'interno dello Strumento di query è presente un Generatore di query grafiche che può mostrare rapidamente i dettagli delle tabelle del database. Buono per una visione di base


1
Non riesco a vedere come disegnare automaticamente le relazioni usando le chiavi esterne in pgAdmin 1.20.0. È supportato?
pyb,

1
Bel suggerimento, anche se sembra che tu debba disegnare da solo tutti gli FK usando i join di query.
Andrew Swan,

6
Questa funzione è stata rimossa in PgAdmin 4 nel 2016. Potrebbe essere reimplementata ma non è stata dal 2019.
Noumenon



5

PostgreSQL Autodoc ha funzionato bene per me. È un semplice strumento da riga di comando. Dalla pagina Web:

Questa è un'utilità che verrà eseguita attraverso le tabelle di sistema PostgreSQL e restituisce HTML, Dot, Dia e DocBook XML che descrivono il database.


3
Il link nella risposta è interrotto. Cercato su Google e trovato: github.com/cbbrowne/autodoc ma sembra non essere mantenuto.
nelsonic,

@nelsonic. Devo scambiare i collegamenti o no? Non sembra essere della stessa persona che lo stava mantenendo. Sembra una specie di forchetta.
Faheem Mitha,

Ho chiesto all'autore su GitHub se il progetto è stato mantenuto: github.com/cbbrowne/autodoc/issues/2
nelsonic

@nelsonic Sì, ho visto la risposta. Ho anche pubblicato bugs.debian.org/8/820208
Faheem

2
È possibile creare un png dal file dot in quanto tale: dot -Tpng my_database.dot -o my_database.png.
Kris

1

All'interno di Eclipse ho usato il plugin Clay (ex Clay-Azurri). La versione gratuita consente di introspettare ("reverse engineer") uno schema DB esistente (tramite JDBC) e creare un diagramma di alcune tabelle selezionate.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.