postgresql autodoc
Я хочу создать своего рода диаграмму ER моей пространственной базы данных, которую я создал внутри Postgresql. Так как я также новичок в Postgresql, я не слишком уверен, что функциональность построения диаграмм может быть реализована с помощью функций, предлагаемых PgAdmin (не ссылаясь на Graphical Query Builder). Однако, как мне кажется, этого нет. Я прочитал, что существует инструмент на основе Perl, называемый postgresql_autodoc, который может работать через системные таблицы PostgreSQL и возвращать HTML, Dot, Dia и DocBook XML, который описывает базу данных. Теперь это не совсем то, что я хотел, но самый близкий вариант, который у меня есть. Итак, я успешно установил ActivePerl 5.8 и DBD-Pg 2.10.0 для Perl 5.8 (DBD PG - это драйвер Perl DBI для базы данных PostgreSQL), а также я скачал файл postgresql_autodoc.pl. Я также добавил путь для Perl. Но когда я пытался запустить postgresql_autodoc.pl через командную строку, я получал эту ошибку: Возможная непреднамеренная интерполяция @TEMPLATE в строку в строке C:/Perl/bin/postgresql_autodoc.pl 1831. Глобальный символ "@TEMPLATE" требует явное имя пакета в строке C:/Perl/bin/postgresql_autodoc.pl 1831. Выполнение C:/Perl/bin/postgresql_autodoc.pl прервано из-за ошибок компиляции.
Я попытался просмотреть postgresql_autodoc.pl с помощью notepad++, однако у меня нет опыта работы с языком Perl, и поэтому я не могу понять, что действительно неправильно. Все, что я мог сделать, это найти строку 1831, но я не знаю, что мне следует сделать, чтобы решить эту проблему.
Файл postgresql_autodoc.pl был загружен с: http://www.rbt.ca/autodoc/
Буду признателен, если кто-нибудь может помочь мне здесь!
заранее спасибо
Барбара
1 ответ
Эта штука @@TEMPLATE-DIR@@
, это строка, которая заменяется при сборке и установке модуля. Это означает, что вы не должны запускать его непосредственно из распакованного архива.
Большинство модулей Perl устанавливаются с более или менее простым трехэтапным процессом установки, что-то вроде perl Makefile.PL ; make ; make install
, Тем не менее, этот пакет немного отличается, вам, кажется, нужно только make install
,
Обратите внимание, что у меня нет опыта установки модулей Perl в Windows с ActiveState. Таким образом, вышеуказанное может не сработать (например, если нет make
утилита, которая обычно не является частью Perl - хотя она может быть частью дистрибутива ActiveState Perl).
Но есть обходной путь. Вы можете просто сделать то, что делает скрипт установки, и заменить @@TEMPLATE-DIR@@
зацепи себя Это можно легко сделать с помощью любого текстового редактора, заменив два вхождения @@TEMPLATE-DIR@@
с пути к тому, где postgresql_autodoc.pl
Скрипт был распакован, то есть путь, по которому скрипт будет искать *.tmpl
файлы в.
Обратите внимание, что имена путей Windows могут быть написаны с косой чертой в Perl, что означает C:/Temp/postgresql_autodoc
должно быть хорошо.