Ferramentas para gerar diagrama de tabelas de banco de dados com o Postgresql? [fechadas]


172

Existem ferramentas gratuitas para gerar diagramas de tabelas com o Postgresql?


6
Uma vez que esta questão foi fechada, eu perguntei sobre a recomendação software SE: Gerar diagramas da tabela de banco de dados de um banco de dados PostgreSQL
Franck Dernoncourt

Respostas:


184

Eu amo schemaspy para visualizações de esquema. Veja a amostra de saída que eles fornecem e babe. Observe as guias!

Você precisará fazer o download do driver JDBC aqui , então seu comando deve ser algo como:

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

Às vezes, o uso de opções -portnão funcionará se o banco de dados tiver uma porta diferente; portanto, você deve adicionar a porta manual após o parâmetro do host, por exemplo:

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

Você precisará instalar graphviztambém se quiser gráficos ( apt-get install graphvizpara distribuições baseadas em debian).


6
Na verdade, é graphviz :)
visionary

2
Schemaspy fez esse truque na primeira tentativa. O layout do gráfico de geração foi ótimo (mesmo em nosso complexo conjunto de tabelas). Quando 100 tabelas referenciam a mesma tabela, haverá linhas sobrepostas; no entanto, o layout geral compensa isso e é perfeitamente legível / rastreável.
precisa

4
por graphvizapenas anexar -gv /path_to/graphvizao comando
AzizSM

4
Em mac eu tive que adicionar: -renderer: quartzo para evitar este erro: -Tcmapx' falhou com o código de retorno 139
slashdottir

7
Para executar isso usando o Docker no 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

O SchemaCrawler para PostgreSQL pode gerar diagramas de banco de dados a partir da linha de comando, com a ajuda do GraphViz. Você pode usar expressões regulares para incluir e excluir tabelas e colunas. Também pode inferir relacionamentos entre tabelas usando convenções de nomenclatura comuns, se não forem definidas chaves estrangeiras.


18

A solução rápida que encontrei estava dentro do programa pgAdmin para Windows. No menu Ferramentas, há uma "Ferramenta de consulta". Dentro da Query Tool, existe um Graphical Query Builder que pode mostrar rapidamente os detalhes das tabelas do banco de dados. Bom para uma visão básica


1
Não consigo ver como desenhar relacionamentos automaticamente usando chaves estrangeiras no pgAdmin 1.20.0. É suportado?
pyb 15/07/2015

1
Boa dica, embora pareça que você precise desenhar todos os FKs usando junções de consulta.
Andrew Swan

6
Esse recurso foi removido no PgAdmin 4 em 2016. Pode ser reimplantado, mas não foi a partir de 2019.
Noumenon



5

O Autodoc do PostgreSQL funcionou bem para mim. É uma ferramenta simples de linha de comando. Na página da web:

Este é um utilitário que será executado nas tabelas do sistema PostgreSQL e retornará HTML, Dot, Dia e DocBook XML, que descreve o banco de dados.


3
O link na resposta está quebrado. Pesquisou e encontrou no Google: github.com/cbbrowne/autodoc, mas parece não ter manutenção.
Nelsonic

@nelsonic De fato. Devo trocar os links ou não? Não parece ser a mesma pessoa que a estava mantendo. Algum tipo de garfo, parece.
Faheem Mitha

Eu pedi o autor no GitHub se o projeto está sendo mantido: github.com/cbbrowne/autodoc/issues/2
nelsonic

@nelsonic Sim, eu vi a resposta. Também publiquei bugs.debian.org/820208
Faheem Mitha 06/04

2
Você pode criar um png do arquivo dot como tal: dot -Tpng my_database.dot -o my_database.png.
Kris

1

Dentro do Eclipse, usei o plugin Clay (ex Clay-Azurri). A versão gratuita permite introspectar ("fazer engenharia reversa") um esquema de banco de dados existente (via JDBC) e fazer um diagrama de algumas tabelas selecionadas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.