0

我想为我在 Postgresql 中创建的空间数据库生成一种 ER 图。由于我也是 Postgresql 的新手,我不太确定图表功能是否可以使用 PgAdmin 提供的功能来完成(不是指图形查询生成器)。但是,在我看来,没有。我读到有一个名为 postgresql_autodoc 的基于 perl 的工具,它可以通过 PostgreSQL 系统表运行并返回描述数据库的 HTML、Dot、Dia 和 DocBook XML。现在这不是我想要的,但它是我最接近的选择。所以我已经成功安装了用于 Perl 5.8 的 ActivePerl 5.8 和 DBD-Pg 2.10.0(DBD PG 是 PostgreSQL 数据库的 Perl DBI 驱动程序),并且我还下载了 postgresql_autodoc.pl 文件。我还添加了 Perl 的路径。但是当我尝试运行 postgresql_autodoc 时。可能在 C:/Perl/bin/postgresql_autodoc.pl 第 1831 行的字符串中意外插入 @TEMPLATE。全局符号“@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/

如果有人可以在这里帮助我,我将不胜感激!

提前致谢

芭芭拉

4

1 回答 1

2

那个东西 ,@@TEMPLATE-DIR@@是一个字符串,当你构建和安装模块时会被替换——这意味着你不应该直接从解压缩的存档中运行它。

大多数 Perl 模块都通过或多或少简单的三步安装过程进行安装,例如perl Makefile.PL ; make ; make install. 但是,这个包略有不同,你似乎只需要make install.

请注意,我没有使用 ActiveState 在 Windows 上安装 Perl 模块的经验。所以上述可能不起作用(例如,如果没有make通常不属于 Perl 的实用程序——尽管它可能是 ActiveState Perl 发行版的一部分)。

但是有一个解决方法。您可以简单地执行安装脚本所做的事情并@@TEMPLATE-DIR@@自己替换字符串。可以使用任何文本编辑器轻松完成,只需将出现的两次 替换为@@TEMPLATE-DIR@@脚本postgresql_autodoc.pl已解压缩到的路径——这意味着它是脚本将在其中查找*.tmpl文件的路径。

请注意,Windows 路径名在 Perl 中可以用正斜杠书写,意思C:/Temp/postgresql_autodoc应该没问题。

于 2012-11-20T19:59:08.047 回答