私はLinuxマシン上でPostgreSQLの実行中のローカルインスタンスを持っています。私がpsql
コマンドをシェルから使用すると、問題なくログインできます。私はJDBC経由でPostgreSqlに接続する必要がありますが、DriverManager.getConnection()
にurl
というパラメータを渡す必要があるのはわかりません。JDBCを使用したPostgreSQLのローカルインスタンスへの接続
これはjdbc:postgresql:
で始まりますが、次に進む予定はありますか?
システムグループによって、データベースがユーザー名のように作成されたというメッセージが表示されました。例えば私のユーザーがjutky
であればDBはjutky
が作成された名前を付けられますが、私はjdbc:postgresql:jutky
への接続を開こうとすると、私は経由でログインすると、私はエラーに
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "jutky"
:(
追加情報
を取得しますpsql
私はパスワードを要求されないので、JDBC経由でログインしようとすると空の文字列をパスワードとして渡します - それは正しいですか、それともnull
か何かを渡すべきですか?
私は残りの中で、私が見シェルでこの行psql --help
を入力すると:だから私は、私はsocket directory
経由のPostgreSQLに接続されていることを理解し
Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "/var/run/postgresql")
を、それがJDBCでのURL文字列に何かを重要でしょうか?答えを
EDIT
まず感謝。
第2回:私はJDBCを使用しています。特に、初めてJDBCからPostgreSQLに接続していないので、一般的なルールを知っていて、私はそのドキュメントを読んでいます。しかし、説明されたケースでは、インスタンスがsocket directory
経由で実行されていて、どのパスワードを提供する必要がある場合、接続文字列をどのように構築すればよいかわかりません。 psql
でログインすると、パスワードの入力をまったく求められないためです。
ありがとうございます。
システムグループにその問題を確認するよう頼んだ。アドバイスをいただきありがとうございます。 – jutky
また、listen_address = '*'がpostgresql.confで有効になっていることを確認してください。さもなければ、TCP/IP接続はまったく不可能です(ローカル接続であってもJDBCが使用しているものです) –
@jutky:更新されました。 – axtavt