3

これは、ローカルの postgresql db に接続しようとしたときに発生するエラーです。

データベースに接続できません [デフォルト]

これはデータベース構成です。タイプミス(太い指のエラー)がないことを確信しています

db.default.url="postgres://localhost:5432/myproject/"
db.default.user="postgres"
db.default.pass="mypassword"
db.default.driver="org.postgresql.Driver"
db.default.initSQL="SELECT 1" 

問題はどこだ?pgAdminを使用すると、簡単に接続できます
ps
ubuntuを使用しています。postgres ユーザー
に変更するには、「su」を使用する必要があることに気付きました。そうしないと、現在のユーザーの変更に失敗します。
それは遊びと関係があるということです!データベースへの接続に失敗しましたか?

ありがとう

4

3 に答える 3

2

セットアップに2 つの問題があるか、少なくとも疑わしい可能性があります。

まず、postgres:...URL 構文は単純な JDBC URL ではありません。この形式は、PostgreSQL JDBC ドライバーでは認識されません。同様の問題に対するこの回答を参照してください。

2 番目: Play に PostgreSQL スーパーユーザー アカウントを使用しようとしています。スーパーユーザー アカウントは、「通常の」作業ではなく、管理作業にのみ使用する必要があります。特に、Web フロントエンドを介した DB へのパブリック アクセスを含む作業には適していません。SQL インジェクション攻撃は、データベースへのゴールデン キーを攻撃者に与えます。これには、完全な DB クラスターを一度に破壊するか、DB サーバーにバックドアをインストールするための核が含まれます。

したがって、Play で構成する新しいユーザーを作成することをお勧めします。設定。

つまり、postgresユーザーのデフォルトのパスワードはUbuntuでは設定されていません。この設定により、同じOS ユーザーからのみDB ユーザーへのログインが許可されます。これを修正する方法は、この回答で説明されています。

これらの 2 つのヒントが役に立たない場合:引用したエラーは非常にあいまいです。より詳細なエラー ログがどこかにあるはずです。それらを見つけて、[編集] ボタンを使用して質問に添付してください。

于 2012-08-03T07:49:50.600 に答える
2

これはあなたの質問に対する直接の回答ではありませんが、同じエラー メッセージが表示され、Google 経由でここにたどり着きました。Scala Play 2.3 を使用して、

db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://127.0.0.1:5432/noob_development"
db.default.logStatements=true

する必要があった

db.default.driver="org.postgresql.Driver"
db.default.url="jdbc:postgresql://127.0.0.1:5432/noob_development"
db.default.logStatements=true

ドライバー名の周りの引用符を誤って残してしまいました。今では完全に機能します。

于 2014-08-12T01:52:45.580 に答える