perlからDBIを使用して、データベースにアクセスしたいと思っていますが、connectで下記のようなエラーが出力され接続できません。
↓↓↓↓↓↓apacheのエラーログ↓↓↓↓↓↓↓
DBI connect('dbname=[mscdb]','[postgres]',...) failed: FATAL: database "[mscdb]" does not exist
at /web/member/cgi-bin/dbitest.pl line 8
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
mscdbがないとエラーが出力されているように思いますが、mscdbは存在します。どういった原因が考えられるでしょうか?
プログラムには以下のように記述しています。
#!/usr/bin/perl
use DBI;
use constant DBNAME => 'DBI:Pg:dbname=[mscdb]';
use constant DBUSER => '[postgres]';
use constant DBPASS => '[××××]';
DBI->connect( DBNAME, DBUSER, DBPASS, { AutoCommit => 0 });
print "Content-Type: text/plain\n\n";
print $DBI::errstr? $_: 'Done';
環境は以下の通りです。
perl v5.8.2
postgres v8.1.2
vine linux
dbd v1.49
No.1ベストアンサー
- 回答日時:
postgresqlのpg_hba.confにてどのような接続形態を許可していますか。
また、postmasterの起動オプションはどうなっているでしょうか。
この回答への補足
(1)pg_hba.confは、以下のようにしています。
Webサーバと、DBサーバは同一のマシンに格納していますので、localhostからの接続は、許可しました。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
#host all all 127.0.0.1/32 trust
# IPv6 local connections:
#host all all ::1/128 trust
host all all 192.168.1.0/24 trust
host all all 192.168.3.0/24 trust
host all all 192.168.4.0/24 trust
host all all 127.0.0.1 255.255.255.255 trust
(2)postgresは、マシン起動時にあがるようにinit.dに以下のようなファイルを置き起動しています。
#!/bin/sh
#
# PostgreSQL start and shutdown script
#
# chkconfig: 345 90 11
# description: PostgreSQL start and shutdown script
. /etc/init.d/functions
case "$1" in
start)
su - postgres -c "pg_ctl -l /usr/local/pgsql/log/log${$}.txt -D /usr/local/pg
sql/data/ -o \"-S -i\" start"
touch /var/lock/subsys/postgres
;;
stop)
su - postgres -c "pg_ctl stop -D /usr/local/pgsql/data/ -m fast"
rm -f /var/lock/subsys/postgres
;;
*)
echo "Usage: /etc/rc.d/init.d/postgres {start|stop}"
esac
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP php エラー 2 2022/10/23 16:43
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LCD ディスプレイを Raspberry ...
-
Excelで時刻になったら知らせて...
-
VBのフォームモジュールと標準...
-
ExcelVBA:パブリック オブジェ...
-
Excel VBAでリンク切れをチェッ...
-
SendKeysの使い方について
-
acwzlibとは?
-
Excel VBAで、ユーザーフォー...
-
【ExcelVBA】commandButtonをク...
-
【vba】フォームに書いてあ...
-
VHDLについてですが何がお...
-
Excel VBAで、ユーザーフォーム...
-
perlをバージョンUPしたらWebSe...
-
ユーザーフォーム上に表示され...
-
Perlモジュールのインストール...
-
グラフのX,Y座標を取得したい
-
ユーザー定義関数に#NAME?が返...
-
VBSがコンパイルエラーになりま...
-
オフコン(富士通Kシリーズ)...
-
VB6でPerl互換の正規表現を使い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LCD ディスプレイを Raspberry ...
-
laravel 本番環境でメールが送...
-
Perlで画像のサイズ取得する方法
-
CGI::Carpを使っているのにInte...
-
MySQLとの接続でfetchrow_array...
-
(Perl CPAN) DBDがはいらない
-
perlからDBIを使用したpostgres...
-
failed: Can't connect to loca...
-
エラーでハマっている為、use A...
-
htmlフォームから受け取ったフ...
-
フォームメール@PerlとActiveP...
-
警告を消したい
-
Chart::Gnuplotの使い方
-
"use CGI::Session"でエラーが...
-
Unicode::Japanese を継承できない
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
「デバイスは PRN を初期化でき...
-
VBAで別モジュールへの変数の受...
おすすめ情報