【发布时间】:2012-11-08 23:29:00
【问题描述】:
我想为我在 Postgresql 中创建的空间数据库生成一个 ER 图。由于我也是 Postgresql 的新手,我不太确定图表功能是否可以使用 PgAdmin 提供的功能来完成(不是指图形查询生成器)。但是,在我看来,没有。我读到有一个名为 postgresql_autodoc 的基于 perl 的工具,它可以通过 PostgreSQL 系统表运行并返回描述数据库的 HTML、Dot、Dia 和 DocBook XML。现在这不是我想要的,但它是我最接近的选择。所以我已经成功安装了 ActivePerl 5.8 和 DBD-Pg 2.10.0 for Perl 5.8(DBD PG 是 PostgreSQL 数据库的 Perl DBI 驱动程序),我还下载了 postgresql_autodoc.pl 文件。我还添加了 Perl 的路径。但是当我尝试通过命令提示符运行 postgresql_autodoc.pl 时,我收到了这个错误:Possible Unintended Interpolation of @TEMPLATE in string at C:/Perl/bin/postgresql_autodoc.pl line 1831. Global symbol "@ TEMPLATE" 需要在 C:/Perl/bin/postgresql_autodoc.pl 第 1831 行显示包名称。由于编译错误,C:/Perl/bin/postgresql_autodoc.pl 的执行被中止。
我尝试使用 notepad++ 查看 postgresql_autodoc.pl,但是我没有使用 perl 语言的经验,所以我无法弄清楚真正的问题是什么。我所能做的就是找到第 1831 行,但我不知道我应该怎么做才能解决这个问题。
postgresql_autodoc.pl 文件下载自:http://www.rbt.ca/autodoc/
如果有人可以在这里帮助我,我将不胜感激!
提前致谢
芭芭拉
【问题讨论】:
-
您应该显示导致此错误的相关代码。
-
我个人使用 SchemaSpy (schemaspy.sourceforge.net)。它非常易于使用,而且效果很好。
-
@TLP - 代码太长,这就是为什么我指定了我从中获取它的站点。
-
@Craig - 我现在正在试用 SchemaSpy。谢谢!
标签: perl postgresql dbi dbd er-diagrams