Narzędzia do generowania diagramów tabel baz danych w Postgresql? [Zamknięte]


172

Czy są jakieś bezpłatne narzędzia do generowania diagramów tabel za pomocą Postgresql?


6
Ponieważ to pytanie zostało zamknięte, zapytałem o zalecenie oprogramowania SE: Generuj diagramy tabel bazy danych z bazy danych PostgreSQL
Franck Dernoncourt

Odpowiedzi:


184

Kocham schemaspy do wizualizacji schematu. Spójrz na przykładowe dane wyjściowe, które zapewniają i ślinić się. Zwróć uwagę na zakładki!

Musisz pobrać sterownik JDBC tutaj , a twoje polecenie powinno wyglądać mniej więcej tak:

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

Czasami użycie opcji -portnie zadziała, jeśli twoja baza danych ma inny port, więc musisz ręcznie dodać port po parametrze hosta, na przykład:

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

Musisz również zainstalować, graphvizjeśli chcesz mieć grafikę ( apt-get install graphvizdla dystrybucji opartych na Debianie).


6
Właściwie to graphviz :)
wizjonerski

2
Schemaspy zrobił tę sztuczkę za pierwszym razem. Układ generowanego wykresu był świetny (nawet na naszym złożonym zestawie tabel). Gdy 100 tabel odwołuje się do tej samej tabeli, linie będą się nakładać; jednak ogólny układ to kompensuje i jest doskonale czytelny / identyfikowalny.
precle

4
po graphvizprostu -gv /path_to/graphviz
dołącz

4
Na Mac musiałem dodać: -renderer: quartz, aby uniknąć tego błędu: -Tcmapx 'nie powiodło się z kodem powrotu 139
slashdottir

7
Aby uruchomić to za pomocą Dockera na komputerze 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>
ach

31

SchemaCrawler for PostgreSQL może generować diagramy bazy danych z wiersza poleceń, przy pomocy GraphViz. Za pomocą wyrażeń regularnych można uwzględniać i wykluczać tabele i kolumny. Może również wywnioskować relacje między tabelami przy użyciu wspólnych konwencji nazewnictwa, jeśli nie zdefiniowano kluczy obcych.


18

Szybkie rozwiązanie, które znalazłem, znajdowało się w programie pgAdmin dla systemu Windows. W menu Narzędzia znajduje się „Narzędzie do wysyłania zapytań”. W narzędziu do wysyłania zapytań znajduje się graficzny konstruktor zapytań, który może szybko wyświetlić szczegóły tabel bazy danych. Dobry do podstawowego widoku


1
Nie widzę, jak automatycznie rysować relacje przy użyciu kluczy obcych w pgAdmin 1.20.0. Czy to jest obsługiwane?
pyb

1
Fajna wskazówka, chociaż wydaje się, że musisz samodzielnie narysować wszystkie SK za pomocą sprzężeń zapytań.
Andrew Swan

6
Ta funkcja została usunięta w PgAdmin 4 w 2016 roku. Mogła zostać ponownie zaimplementowana, ale od 2019 roku nie została wprowadzona.
Noumenon



5

PostgreSQL Autodoc działał dobrze dla mnie. Jest to proste narzędzie wiersza poleceń. Ze strony internetowej:

Jest to narzędzie, które będzie działało przez tabele systemowe PostgreSQL i zwraca HTML, Dot, Dia i DocBook XML opisujące bazę danych.


3
Link w odpowiedzi jest uszkodzony. Przeszukałem go i znalazłem: github.com/cbbrowne/autodoc, ale wydaje się, że nie jest konserwowany.
nelsonic

@nelsonic Rzeczywiście. Powinienem zamienić linki, czy nie? Wydaje się, że nie pochodzi od tej samej osoby, która go utrzymywała. Wygląda na to, że to jakiś widelec.
Faheem Mitha,

Zapytałem autora na GitHubie, czy projekt jest utrzymywany: github.com/cbbrowne/autodoc/issues/2
nelsonic

@nelsonic Tak, widziałem odpowiedź. Opublikowałem również bugs.debian.org/820208
Faheem Mitha

2
Można utworzyć plik PNG z kropką jako takiego: dot -Tpng my_database.dot -o my_database.png.
Kris

1

Wewnątrz Eclipse użyłem wtyczki Clay (ex Clay-Azurri). Darmowa wersja pozwala na introspekcję ("inżynierię wsteczną") istniejącego schematu DB (przez JDBC) i wykonanie diagramu wybranych tabel.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.