• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perlからDBIを使用したpostgresへの接続でエラー)

perlからDBIを使用したpostgresへの接続でエラー

このQ&Aのポイント
  • perlからDBIモジュールを使用してpostgresデータベースに接続しようとすると、エラーが発生します。
  • エラーメッセージによると、データベース「mscdb」が存在しないとのことですが、実際には存在しています。
  • 原因を特定するために、perlバージョン5.8.2とpostgresバージョン8.1.2を使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • agharta
  • ベストアンサー率52% (54/103)
回答No.1

postgresqlのpg_hba.confにてどのような接続形態を許可していますか。 また、postmasterの起動オプションはどうなっているでしょうか。

hahihuke
質問者

補足

(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

その他の回答 (1)

回答No.2

もしデータベースの名前が "[mscdb]" でなく "mscdb" ならば dbname=mscdb と書きますが、そこは大丈夫でしょうか。ユーザ名とパスワードも同様です。

hahihuke
質問者

補足

[mscdb]をmscdbに修正したら正常に動きました。 お恥ずかしい限りです(--)ありがとうございます!!

関連するQ&A

専門家に質問してみよう