postgresql autodoc

时间:2012-11-20 19:49:28

标签: perl postgresql dbi dbd er-diagrams

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

下载的

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

提前致谢

巴巴拉

1 个答案:

答案 0 :(得分: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脚本已解压缩到的路径 - 这意味着它是脚本看起来的路径对于{。\ n}中的*.tmpl个文件。

请注意,Windows路径名可以使用Perl中的正斜杠编写,这意味着C:/Temp/postgresql_autodoc应该没问题。