[pgsql-jp: 31022] PerlからDBI:Pgでの接続エラー

kato-shinichi @ mdis.co.jp kato-shinichi @ mdis.co.jp
2003年 9月 10日 (水) 18:21:34 JST


はじめまして加藤と申します。

下記環境よりPostgreへの接続ができずに困っております。
OS:Linux RedHat 8.0
言語:Perl 5.8.0-55
Postgresql:7.2.2-1
perl-DBD-Pg:1.13-5
すべてRedHatデフォルトインストール時の状況です。

postgresユーザーでのデータベース作成〜サーバー上でのテーブル検索などの操作はすべて正常に確認できました。
コードは下記です。
------------------------
#!/usr/bin/perl -w
use DBI;
use strict;

my $DB_name    = 'dbi:Pg:dbname=DB_test';
my $DB_user    = 'postgres';
my $DB_pwd     = 'pass';

my $mydb = DBI->connect($DB_name,$DB_user,$DB_pwd) || &Error("接続エラー");
------------------------

上記コードで「$mydb」に値が戻らず、接続エラーとなってしまいます。

「pg_hda.conf」については下記エントリーを追加しています。
tcpip_socket=ture
local  all  ident  sameuser
host  all  0.0.0.0  0.0.0.0  trust

参考にしている様々のサイトでの手順と異なり、RedHat8.0のデフォルトインストールでは
「pgsql」フォルダの場所は「/var/lib/pgsql」となっており、「/var/lib/pgsql/lib」フォルダはありません。
代わりになるフォルダもないようでしたので「.bashrc」ファイルへの環境変数などの設定追加は行っていません。
また、「postgres」というユーザーはデフォルトで作成されており、データベース操作は「postgres」ユーザーで
行っておりますが、「postgres」というフォルダはルート以下に存在しませんので「/postgres/.bashrc」ファイル
自体ありません。

Postgreのライブラリは「/bin」などに格納されていると思っているのですが、どのようなファイルがあるのか
わからないため確認できません。(ライブラリへのパスが通ってないことが原因かはわかりませんが)

Linux、Postgre共に知識が足りず、恐縮ですが、よろしくお願いします。

P.S.DBIのエラーを拾う「DBI->errorMessage」という関数があるようですが、使い方がいまいちわかりません。



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