使用postgresql生成数据库表图的工具?

Han*_*sir 160 postgresql diagram

是否有任何免费工具用postgresql生成表格图?

小智 163

我喜欢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
Run Code Online (Sandbox Code Playgroud)

-port如果您的数据库具有不同的端口,有时使用选项将无法工作,因此您必须在host参数之后添加手动端口,例如:

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
Run Code Online (Sandbox Code Playgroud)

graphviz如果你想要图形(apt-get install graphviz对于基于debian的发行版),你也需要安装.

  • 实际上它是**graphviz**:) (6认同)
  • 在Mac上我必须添加:-renderer:quartz来避免此错误:-Tcmapx'失败,返回码为139 (4认同)
  • 要在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 <密码>``` (4认同)
  • 对于`graphviz`,只需将`-gv/path_to/graphviz`附加到命令即可 (3认同)
  • Schemaspy在第一次尝试时就做到了这一点.生成图的布局很棒(即使在我们复杂的表集上).当100个表引用同一个表时,将有重叠的行; 但是整体布局可以弥补这一点并且非常清晰/可追溯. (2认同)

Sua*_*ehi 29

PostgreSQL的SchemaCrawler可以在GraphViz的帮助下从命令行生成数据库图表.您可以使用正则表达式来包含和排除表和列.如果没有定义外键,它还可以使用通用命名约定来推断表之间的关系.


Zan*_*ane 17

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

  • 此功能已于2016年在PgAdmin 4中[删除](https://www.enterprisedb.com/blog/pgadmin-4-elephant-nears-finish-line)。它可能会重新实现,但截至2019年尚未实现。 (2认同)

Tay*_*tes 9

刚刚通过Frank Heikens提到的Postgres社区指南找到http://www.sqlpower.ca/page/architect.它可以轻松生成图表,然后让您调整连接器!


Fah*_*tha 5

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

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

  • 答案中的链接已损坏。谷歌搜索并发现:https://github.com/cbbrowne/autodoc 但似乎没有维护。 (3认同)
  • 您可以从点文件创建一个 png,如下所示:“dot -Tpng my_database.dot -o my_database.png”。 (2认同)