[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 メーリングリストの案内