Herramientas para generar diagrama de tablas de base de datos con Postgresql? [cerrado]

172

¿Existen herramientas gratuitas para generar diagramas de tablas con Postgresql?

Hannoun Yassir
fuente
66
Como esta pregunta se cerró, pregunté sobre la recomendación de software SE: Generar diagramas de tabla de base de datos a partir de una base de datos PostgreSQL
Franck Dernoncourt

Respuestas:

184

Me encanta schemaspy para visualizaciones de esquema. Mire la salida de muestra que proporcionan y babee. Tenga en cuenta las pestañas!

Tendrá que descargar el controlador JDBC aquí , luego su comando debería verse así:

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 veces, usar las opciones -portno funcionará si su base de datos tiene un puerto diferente, por lo que debe agregar un puerto manual después del parámetro del host, por ejemplo:

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

Deberá instalar graphviztambién si desea gráficos ( apt-get install graphvizpara distribuciones basadas en Debian).

Jurgen
fuente
66
En realidad es graphviz :)
visionario
2
Schemaspy hizo este truco en el primer intento. El diseño del gráfico de generación fue excelente (incluso en nuestro complejo conjunto de tablas). Cuando 100 tablas hacen referencia a la misma tabla, habrá líneas superpuestas; sin embargo, el diseño general compensa esto y es perfectamente legible / rastreable.
pretzels1337
44
por graphvizsolo agregar el -gv /path_to/graphvizal comando
AzizSM
44
En mac tuve que agregar: -renderer: quartz para evitar este error: -Tcmapx 'falló con el código de retorno 139
slashdottir
77
Para ejecutar esto usando Docker en la 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 para PostgreSQL puede generar diagramas de bases de datos desde la línea de comandos, con la ayuda de GraphViz. Puede usar expresiones regulares para incluir y excluir tablas y columnas. También puede inferir relaciones entre tablas utilizando convenciones de nomenclatura comunes, si no se definen claves foráneas.

Sualeh Fatehi
fuente
18

La solución rápida que encontré estaba dentro del programa pgAdmin para Windows. En el menú Herramientas hay una "Herramienta de consulta". Dentro de la herramienta de consulta hay un generador de consultas gráficas que puede mostrar rápidamente los detalles de las tablas de la base de datos. Bueno para una vista básica

Zane
fuente
1
No puedo ver cómo dibujar relaciones automáticamente usando claves foráneas en pgAdmin 1.20.0. ¿Es compatible?
pyb
1
Un buen consejo, aunque parece que tiene que dibujar todos los FK usted mismo utilizando uniones de consulta.
Andrew Swan el
66
Esta función se eliminó en PgAdmin 4 en 2016. Puede volver a implementarse, pero no lo fue a partir de 2019.
Noumenon
9

Acabo de encontrar http://www.sqlpower.ca/page/architect a través de la Guía de la comunidad de Postgres mencionada por Frank Heikens. ¡Puede generar fácilmente un diagrama y luego le permite ajustar los conectores!

Sitios web de Taylored
fuente
No pude hacer que esto funcione; siguió recibiendo ArrayIndexOutOfBoundException
FuriousFolder
5

PostgreSQL Autodoc me ha funcionado bien. Es una herramienta de línea de comando simple. Desde la página web:

Esta es una utilidad que se ejecutará a través de las tablas del sistema PostgreSQL y devuelve HTML, Dot, Dia y DocBook XML que describe la base de datos.

Faheem Mitha
fuente
3
El enlace en respuesta está roto. Busqué en Google y encontré: github.com/cbbrowne/autodoc pero parece estar sin mantenimiento.
nelsonic
@nelsonic De hecho. ¿Debo cambiar los enlaces o no? No parece ser por la misma persona que lo mantenía. Parece una especie de tenedor.
Faheem Mitha
Le pregunté al autor en GitHub si el proyecto se mantiene: github.com/cbbrowne/autodoc/issues/2
nelsonic
@nelsonic Sí, vi la respuesta. También publiqué bugs.debian.org/820208
Faheem Mitha el
2
Se puede crear un archivo PNG desde el punto como por ejemplo: dot -Tpng my_database.dot -o my_database.png.
Kris
1

Dentro de Eclipse he usado el complemento Clay (ex Clay-Azurri). La versión gratuita permite introspectar ("ingeniería inversa") un esquema de base de datos existente (a través de JDBC) y hacer un diagrama de algunas tablas seleccionadas.

leonbloy
fuente