Инструменты для генерации диаграммы таблиц базы данных с 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).

Jurgen
источник
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, упомянутом Фрэнком Хейкенсом. Он может легко сгенерировать диаграмму, а затем позволяет настраивать разъемы!

Сайты Taylored
источник
Я не мог заставить это работать; продолжал получать 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) и составить схему некоторых выбранных таблиц.

leonbloy
источник