□PostgreSQL用の Perl インターフェース
PostgreSQL が 7.3 になってから、Perl のインターフェースがソースに
つかなくなりました。変わりに、別の所から取ってきてインストールを
しないといけません。
さて、DBI と DBD の Perl モジュールをインストールします。これらは
どちらも更新が激しいので最新のモノを入れたほうがいいでしょう。
(なのでURL参照してください)
ま、面倒なので CPAN シェルを起動して
> install Bundle::DBI
とします。すると他にも必要なモジュールをインストールしてくれますが
幾つかのモジュールはちゃんと入らないかもしれません。自分がやった時
には「Net-Daemon」と「PlRPC」がちゃんと入らないとか、「DBI::Shell」
がはいらないとか言われたので、.cpanの中に入って、コマンドラインから
やり直しました。
ただ、make test をしてもエラーとなるので、ぶっちして make install ですけどね。
このとき、iptables でフィルタリングしているとうまく入らないかもしれ
ません。ネットワーク関係でソケット通信が出来ないとぶーぶー言われます。
で、もう一度 CPAN シェルに戻ってインストールをしてみると
> cpan> install Bundle::DBI
> CPAN: Storable loaded ok
> Going to read /root/.cpan/Metadata
>?? Database was generated on Wed, 01 Feb 2006 22:14:26 GMT
> DBI is up to date (1.50).
> DBI::Shell is up to date (11.93).
> Storable is up to date (2.15).
> Net::Daemon is up to date (0.38).
> RPC::PlServer is up to date (0.2018).
> DBD::Multiplex is up to date (1.98).
と言うことでOKとなりました。
つづいて「DBD::Pg」のインストールですが、これはCPANでやっても
ソースをさがしてきてやってもちゃんとテストできません。
> Configuring Pg
> Remember to actually read the README file !
> OS: linux
> Using DBI 1.37 installed in /usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/DBI
というように「README」にちゃんと書いてありますが、環境変数に
> DBI_DSN=dbi:Pg:dbname=<database>
> DBI_USER=<username>
> DBI_PASS=<password>
この辺を設定してデータベースにアクセスできるようにしておけ、と書いて
あります。なので、とりあえず適当なデータベースを
createdb test –encoding=UNICODE
として作ってからテストしてみます。
export DBI_DSN=dbi:Pg:dbname=test
export DBI_USER=postgres
export DBI_PASS=
としてから、CPANを起動して「DBD::Pg」をインストールして
> cpan> install DBD::Pg
> CPAN: Storable loaded ok
> Going to read /root/.cpan/Metadata
>?? Database was generated on Wed, 01 Feb 2006 22:14:26 GMT
>?:
>?:
>?? /usr/bin/make install? — OK
>
> cpan>
というようになればOK。
参照URL: