0

Postgresql 内で作成した空間データベースの ER ダイアグラムを生成したいと考えています。私はPostgresqlも初めてなので、PgAdminが提供するものを使用してダイアグラム機能を実行できるかどうかはよくわかりません(Graphical Query Builderを参照していません)。しかし、私には何もないようです。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 モジュールは、ほぼ単純な 3 ステップのインストール プロセスでインストールされますperl Makefile.PL ; make ; make install。ただし、このパッケージは少し異なります。必要なのはmake install.

ActiveState を使用して Windows に Perl モジュールをインストールした経験がないことに注意してください。したがって、上記は機能しない可能性があります (たとえばmake、ActiveState Perl ディストリビューションの一部である可能性がありますが、通常は Perl の一部ではないユーティリティがない場合)。

しかし、回避策があります。インストールスクリプトが行うことを簡単に実行して、@@TEMPLATE-DIR@@文字列を自分で置き換えることができます。これは、任意のテキスト エディターで簡単に実行できます。2 つの の出現箇所を、スクリプトが展開され@@TEMPLATE-DIR@@た場所へのパスに置き換えます。postgresql_autodoc.plつまり、スクリプトが*.tmplファイルを検索するパスです。

Windows のパス名は Perl ではスラッシュを使用して記述できることに注意してください。つまり、問題はありC:/Temp/postgresql_autodocません。

于 2012-11-20T19:59:08.047 に答える