Инструменты для генерации диаграммы таблиц базы данных с Postgresql? [закрыто]


172

Существуют ли бесплатные инструменты для создания диаграмм таблиц с Postgresql?


6
Так как этот вопрос был закрыт, я спросил о программной рекомендации SE: генерировать диаграммы таблиц базы данных из базы данных PostgreSQL
Franck Dernoncourt

Ответы:


184

Я люблю schemaspy для визуализации схемы. Посмотрите на пример вывода, который они предоставляют, и пускайте слюни. Обратите внимание на вкладки!

Вам нужно скачать драйвер JDBC здесь , тогда ваша команда должна выглядеть примерно так:

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

Иногда использование опций -portне будет работать, если ваша база данных имеет другой порт, поэтому вы должны добавить ручной порт после параметра хоста, например:

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

Вам также необходимо установить, graphvizесли вам нужна графика ( apt-get install graphvizдля дистрибутивов на основе Debian).


6
На самом деле это графвиз :)
провидец

2
Schemaspy сделал этот трюк с первой попытки. Схема генерации графа была отличной (даже для нашего сложного набора таблиц). Когда 100 таблиц ссылаются на одну и ту же таблицу, строки будут перекрываться; однако общая компоновка компенсирует это и является совершенно разборчивой / отслеживаемой.
крендели1337

4
для graphvizпросто добавьте -gv /path_to/graphvizк команде
AzizSM

4
На Mac мне пришлось добавить: -renderer: кварц, чтобы избежать этой ошибки: -Tcmapx 'не удалось с кодом возврата 139
slashdottir

7
Чтобы запустить это с помощью Docker на 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>
ах

31

SchemaCrawler для PostgreSQL может генерировать диаграммы базы данных из командной строки с помощью GraphViz. Вы можете использовать регулярные выражения для включения и исключения таблиц и столбцов. Он также может вывести отношения между таблицами, используя общие соглашения об именах, если не определены внешние ключи.


18

Быстрое решение, которое я нашел, было в программе pgAdmin для Windows. В меню «Инструменты» есть «Инструмент запросов». Внутри Query Tool есть Graphical Query Builder, который может быстро показать детали таблиц базы данных. Хорошо для основного вида


1
Я не вижу, как автоматически рисовать отношения, используя внешние ключи в pgAdmin 1.20.0. Это поддерживается?
pyb

1
Хороший совет, хотя кажется, что вы должны нарисовать все FK самостоятельно, используя соединения запросов.
Эндрю Свон

6
Эта функция была удалена в PgAdmin 4 в 2016 году может быть переопределен , но не было , как в 2019
ноумен


9

Просто нашел http://www.sqlpower.ca/page/architect в Руководстве сообщества Postgres, упомянутом Фрэнком Хейкенсом. Он может легко сгенерировать диаграмму, а затем позволяет настраивать разъемы!


Я не мог заставить это работать; продолжал получать ArrayIndexOutOfBoundException
FuriousFolder

5

PostgreSQL Autodoc хорошо сработал для меня. Это простой инструмент командной строки. С веб-страницы:

Это утилита, которая запускает системные таблицы PostgreSQL и возвращает HTML, Dot, Dia и DocBook XML, которые описывают базу данных.


3
Ссылка в ответе не работает. Погуглил и нашел: github.com/cbbrowne/autodoc, но, похоже, не поддерживается.
Нельсоник

@nelsonic Действительно. Должен ли я поменять ссылки или нет? Это не похоже на того же человека, который поддерживал его. Это какая-то вилка, похоже.
Фахим Митха

Я спросил автора на GitHub, поддерживается ли проект: github.com/cbbrowne/autodoc/issues/2
nelsonic

@nelsonic Да, я видел ответ. Я также опубликовал bugs.debian.org/820208
Фахим Митха

2
Вы можете создать PNG из файла точек как таковые: dot -Tpng my_database.dot -o my_database.png.
Крис

1

Внутри Eclipse я использовал плагин Clay (бывший Clay-Azurri). Бесплатная версия позволяет провести анализ («обратный инжиниринг») существующей схемы БД (через JDBC) и составить схему некоторых выбранных таблиц.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.