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


172

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


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).


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.


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


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



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.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.