[pgsql-jp: 34708] Re: DBD::Pgのインストール

tomson tomson_lpcjp @ yahoo.co.jp
2005年 1月 24日 (月) 23:55:47 JST


こんばんは。

> OS : Redhat Linux 9
> Postgres : PostgreSQL7.3.2
> Perl : 5.8.0

Red-Hat9はサポート終了しています。aptを導入して、パッケージを
http://fedoralegacy.org/
で最新にしておきましょう。

> perlからpostgresにアクセスするためにDBD::Pgをインストール
> しようと思っているのですが、DBD-Pg-1.32からMakefile.PLを
> 実行させると・・・
>
> Path to pg_config?
>
> と表示され、pg_configの場所を訪ねてきているようです。
> postgres7.2以上はpg_configユーティリティが入っている
> との情報がマニュアルにあったのですが、どこを探しても
> なぜか見つからないんです・・・。
> (私の技術不足かもしれませんが)
>
> もちろんこのまま無視して進むとパラメータエラーが発生し、
> インストールはできません。

CPANから直接App::Info::RDBMS::PostgreSQLを導入してください。
http://search.cpan.org/~dwheeler/App-Info-0.44/lib/App/Info/RDBMS/PostgreSQL.pm

> なお、このpostgresはRedhatのディストリビューションCD
> に入っていたrpmをCDからインストールしたものです。
> インストールし直そうにも、既にpostgres上にデータが
> 入っているので、なかなか簡単にもできそうにないんです。

古いデータをpg_dumpallで書き出し、取っておきます。
ソースからコンパイルしてください。
tarボールを持ってきて、展開、なにも付けずに(./configure --with-perlしてから)make installすれば
/usr/local/pgsqlに入っていることでしょう。で、ここの所有者をpostgresにして、
initdb 
createuser 
createdbすれば、OKでしょう。

RPMでいれたやつは、ソースからいれるやつとは$PGDATAディレクトリが異なります。
なので、RPMでいれたやつを止めてから、ソースから入れたやつを起動してください。
シェルの環境変数を書き換えておきましょう。

pg_ctlでバックグラウンド起動しておけばよいでしょう。
あと、postgresql.conf とpg_hba.confをよくみて、TCPでつなぐ必要があれば tcp_enable=trueにしておきましょう。

RPMでいれるやつは、ややこしく、ソースから入れるやつのほうが管理しやすいです。





pgsql-jp メーリングリストの案内