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?

Hannoun Yassir
źródło
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).

Jurgen
źródło
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.

Sualeh Fatehi
źródło
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

Zane
źródło
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
9

Właśnie znalazłem http://www.sqlpower.ca/page/architect w przewodniku społeczności Postgres, o którym wspomniał Frank Heikens. Potrafi łatwo wygenerować diagram, a następnie pozwala dopasować złącza!

Witryny internetowe Taylored
źródło
Nie mogłem zmusić tego do pracy; ciągle pobierało ArrayIndexOutOfBoundException
FuriousFolder
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.

Faheem Mitha
źródło
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.

leonbloy
źródło