sql >> データベース >  >> RDS >> PostgreSQL

Playは(PostgreSQL)データベースに接続できません[デフォルト]

    したがって、明確な答えは次のとおりです。

    まず、データベースのURLに誤りがあります。これは、db.default.url="jdbc:postgresql://localhost:5432/playdb"である必要があります。 chabeeeが指摘したようにdb.default.urlの唯一の正しい形式です (したがって、jdbc:postgresql://username:pasword:localhost/dbnameはありません または同様のもの、私が他の場所で提案しているのを見たように)。

    次に、もっと注意が必要なのは、Salemが指摘した ようにドライバーにバグがあることです。 回避策は、db.default.hikaricp.connectionTestQuery = "SELECT 1"を追加することです。 application.confへ 。
    ただし、そのバグは9.1-903よりも新しいバージョンで修正されています(回避策が実装されています)。 。キャッチは、バージョン9.1-901以降です postgresqlはリポジトリ内のgroupIDを変更し、org.postgresqlによって参照されるようになりました 。回避策よりも優れた解決策は、依存関係を"org.postgresql" % "postgresql" % "9.4-1206-jdbc4"に更新することです。 (現在のバージョン MVNrepository )。適切なjdbcバージョンを最新のPostgreSQLドライバー(4)に追加します Java 6の場合、41 Java 7の場合、42 Java 8の場合)。

    私の最後のapplication.conf

    db.default.driver="org.postgresql.Driver"
    db.default.url="jdbc:postgresql://localhost/playdb" #the port is optional
    db.default.username="luka"
    db.default.password="test"
    

    そしてlibraryDependencies build.sbt内 :

    libraryDependencies ++= Seq(
      jdbc,
      "org.postgresql" % "postgresql" % "9.4-1206-jdbc42",
      cache,
      javaWs
    )
    

    2017年の更新: この回答を書いてから間もなく、バージョン管理スキームが変更され、-jdbc [code]フラグメントが削除され、.jre6、.jre7、または何も置き換えられなかったことに気づきました。この主張を裏付けるものは何でも見つかりましたが、機能します)。さらに2017年2月に、彼らはバージョンスキームを再度変更しました メジャーバージョン9から42にジャンプし、現在のバージョン(2017年7月17日現在)を"org.postgresql" % "postgresql" % "42.1.3"で示します。 (または、それに応じて、"org.postgresql" % "postgresql" % "42.1.3.jre7" / "org.postgresql" % "postgresql" % "42.1.3.jre6"



    1. Postgresql作成データベース

    2. OracleGroup-byバグの概要

    3. Pythonを使用してBLOBをOracleに挿入するにはどうすればよいですか?

    4. PL/pgSQLで使用する変数にクエリ結果を格納する