- PR -

PostgreSQLにJDBC接続できない

1
投稿者投稿内容
mogumogu
常連さん
会議室デビュー日: 2006/02/24
投稿数: 32
投稿日時: 2006-04-11 17:00
いつもお世話になっています。

現象は件名のとおりなんですが、
ローカル環境からDBサーバへJDBC接続できずに悩んでいます。
JDBCドライバーは
http://jdbc.postgresql.org/download.html
ここから、8.1-405 JDBC 3(postgresql-8.1-405.jdbc3.jar)を
ダウンロードしています。

また、PostgreSQLの設定ファイルも変更しています。
pg_hba.confに下記の行を追加
-------------------------
host all all 192.168.0.0/24 trust
postgresql.confに下記の行を追加(変更)
-------------------------
port = 5432
listen_addresses='*'

設定後、PostgreSQLを再起動しています。
javaソースは下記のとおりです。
---------------------------
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql:hoge_db",
"postgres",
"*******");

conn.close();
conn = null;

} catch (SQLException e) {
怒られている内容は下記のとおりです。
-----------------------------------
org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Exception: java.net.ConnectException: Connection refused: connect

ホスト名、ポートが間違っているか、TCP/IP接続を許可されていないか、ということですよね…。
$ psql hoge_db でログインできるので、ホストは間違っていないと思います。
自信がないのがパスワードなんですが、これはDBサーバのpostgreユーザの
パスワードですよね?(Oracleのような、スキーマのパスワードではないですよね)

長文になってしまい申し訳ありませんが、何かご存知のかた教えてください。
よろしくお願いします。


ローカル環境
WindowsXP
Eclipse3.1
JDK1.4

DB環境 
Red Hat Linux9 
PostgreSQL 8.1.3
mogumogu
常連さん
会議室デビュー日: 2006/02/24
投稿数: 32
投稿日時: 2006-04-11 17:21
pg_hba.confですが、
http://www.hizlab.net/app/pgsec.html
ここを参照してこのように変更しました。
host all all 127.0.0.1 255.255.255.0 trust

で、ローカルのtera termから
$psql -h 127.0.0.1 hoge_db
でログインできました。
ykhr
会議室デビュー日: 2004/11/12
投稿数: 18
投稿日時: 2006-04-11 18:12
getConnectionの部分のURLを
jdbc:postgresql://[IPアドレス]:5432/hoge_db
という風に変えると、どうなるでしょうか?

[ メッセージ編集済み 編集者: SEY 編集日時 2006-04-11 18:18 ]
mogumogu
常連さん
会議室デビュー日: 2006/02/24
投稿数: 32
投稿日時: 2006-04-11 18:18
SEYさん、ありがとうございます。

残念ながら、結果は同じでした。
以下、試してNGだったURLを書きます。
・jdbc:postgresql://localhost:5432/ism_db
・jdbc:postgresql://実際のIPアドレス:5432/ism_db
・jdbc:postgresql://127.0.0.1:5432/ism_db
・jdbc:postgresql:hoge_db
せん
ぬし
会議室デビュー日: 2002/03/04
投稿数: 397
投稿日時: 2006-04-11 18:25
サーバ側で、5432 ポートあけてないのではないですか?
未記入
常連さん
会議室デビュー日: 2005/05/07
投稿数: 32
投稿日時: 2006-04-11 18:29
引用:

rieさんの書き込み (2006-04-11 17:00) より:
$ psql hoge_db でログインできるので、ホストは間違っていないと思います。
自信がないのがパスワードなんですが、これはDBサーバのpostgreユーザの
パスワードですよね?(Oracleのような、スキーマのパスワードではないですよね)


PostgreSQLのユーザIDとパスワードではダメだったんですか?

[ メッセージ編集済み 編集者: 未記入 編集日時 2006-04-11 18:29 ]
mogumogu
常連さん
会議室デビュー日: 2006/02/24
投稿数: 32
投稿日時: 2006-04-11 18:39
みなさんレスありがとうございました。

すいません。自己解決してしまいました。
原因は、pg_hba.confを
---------------------------
host all all 192.168.1.0/24 trust
のように修正したら直りました。
ちなみに、ローカルマシンのIPアドレスは、192.168.1.22です。
1

スキルアップ/キャリアアップ(JOB@IT)