用Postgresql生成数据库表图的工具?[关闭]


172

有没有免费的工具可以用Postgresql生成表图?


6
自从这个问题解决以来,我就对软件推荐SE提出了疑问:从PostgreSQL数据库生成数据库表图
Franck Dernoncourt,2016年

Answers:


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
实际上是graphviz :)
有远见

2
Schemaspy在第一次尝试时就做到了这一点。生成图的布局很棒(即使在我们复杂的表集上)。当100个表引用同一张表时,将有重叠的行;但是,总体布局对此进行了补偿,并且清晰易读。
pretzels1337

4
对于graphviz刚刚追加-gv /path_to/graphviz到命令
AzizSM

4
在Mac上,我必须添加:-renderer:quartz以避免此错误:-Tcmapx'失败,返回码139
slashdottir

7
要在Mac上使用Docker运行此程序: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


18

我发现快速解决方案是在Windows的pgAdmin程序中。在“工具”菜单下,有一个“查询工具”。查询工具内部有一个图形查询生成器,可以快速显示数据库表的详细信息。适合基本观点


1
我看不到如何在pgAdmin 1.20.0中使用外键自动绘制关系。支持吗?
pyb

1
不错的提示,尽管您似乎必须使用查询联接自己绘制所有FK。
安德鲁·斯旺

6
此功能在2016年的PgAdmin 4中已被删除。它可能会重新实现,但截至2019
Noumenon



5

PostgreSQL Autodoc对我来说效果很好。这是一个简单的命令行工具。在网页上:

这是一个将在PostgreSQL系统表中运行并返回描述数据库的HTML,Dot,Dia和DocBook XML的实用程序。


3
答案链接已断开。在Google上搜索并找到:github.com/cbbrowne/autodoc,但似乎没有得到维护。
nelsonic '16

@nelsonic确实。我应该交换链接吗?它似乎不是由维护它的那个人来的。某种叉子,看起来像。
Faheem Mitha

我在GitHub上问过作者是否正在维护该项目:github.com/cbbrowne/autodoc/issues/2
nelsonic

@nelsonic是的,我看到了回复。我还发布了bugs.debian.org/820208
Faheem Mitha,

2
您可以从点文件中创建png,例如:dot -Tpng my_database.dot -o my_database.png
克里斯

1

在Eclipse内部,我使用了Clay插件(例如Clay-Azurri)。免费版本允许内部检查(“反向工程”)(通过JDBC)(通过JDBC)并制作一些选定表的图表。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.