【问题标题】:Tools to generate database tables diagram with PostgreSQL? [closed]用 PostgreSQL 生成数据库表图的工具? [关闭]
【发布时间】:2011-03-14 12:27:15
【问题描述】:

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

【问题讨论】:

标签: postgresql diagram


【解决方案1】:

我喜欢 schemaspy 的架构可视化。查看他们提供的示例输出,然后流口水。注意标签!

您需要下载JDBC driver here,然后您的命令应该类似于:

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

如果您需要图形,您还需要安装 graphvizapt-get install graphviz 用于基于 debian 的发行版)。

【讨论】:

  • 其实是graphviz :)
  • Schemaspy 在第一次尝试时就做到了这一点。生成图的布局很棒(即使在我们复杂的表集上)。当 100 个表引用同一个表时,会有重叠的行;然而,整体布局弥补了这一点,并且非常清晰/可追溯。
  • 对于graphviz,只需将-gv /path_to/graphviz 附加到命令中
  • 在 mac 我必须添加:-renderer :quartz 以避免此错误:-Tcmapx' failed with return code 139
  • 在 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>
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 我看不到如何在 pgAdmin 1.20.0 中使用外键自动绘制关系。支持吗?
    • 不错的提示,尽管您似乎必须使用查询连接自己绘制所有 FK。
    • 此功能是 2016 年 PgAdmin 4 中的 removed。它可能会重新实现,但截至 2019 年尚未实现。
    【解决方案4】:
    【解决方案5】:

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

    【讨论】:

    • 我无法让它工作;不断收到 ArrayIndexOutOfBoundException
    【解决方案6】:

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

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

    【讨论】:

    • 答案中的链接已损坏。谷歌搜索并找到:github.com/cbbrowne/autodoc,但似乎无人维护。
    • @nelsonic 确实如此。我应该交换链接吗?它似乎不是由维护它的同一个人所为。某种叉子,看起来像。
    • 我已经在 GitHub 上询问了作者是否正在维护项目:github.com/cbbrowne/autodoc/issues/2
    • @nelsonic 是的,我看到了回复。我还发布了bugs.debian.org/820208
    • 您可以像这样从点文件创建一个 png:dot -Tpng my_database.dot -o my_database.png.
    【解决方案7】:

    在 Eclipse 中,我使用了 Clay plugin(前 Clay-Azurri)。免费版本允许自省(“逆向工程”)现有的数据库模式(通过 JDBC)并制作一些选定表的图表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      相关资源
      最近更新 更多