2016-07-18 87 views
4

(pgadmin iii - postgres sqltool)を使用して自分の資格情報を使用してPostgreSQLサーバに接続しようとすると問題なく動作します。私がJavaアプリケーションから接続しようとすると、私は以下のログを取得します。それは原因:org.postgresql.util.PSQLException:FATAL:ユーザ "admin"のパスワード認証に失敗しました

org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is org.postgresql.util.PSQLException: FATAL: password authentication failed for user "admin" 
    at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:240) 
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371) 
    at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335) 
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) 
    at $Proxy8.getCollegeDetails(Unknown Source) 
    at com.cts.bo.HESBO.registerCourse(HESBO.java:42) 
    at com.cts.facade.HESFacade.registerCourse(HESFacade.java:34) 
    at com.cts.manager.HESManager.registerCourse(HESManager.java:34) 
    at com.cts.presentation.Tester.registerCourse(Tester.java:66) 
    at com.cts.presentation.Tester.main(Tester.java:159) 
**Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "admin"** 
    at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:415) 
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:188) 
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64) 
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:143) 
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:29) 
    at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:21) 
    at org.postgresql.jdbc3g.Jdbc3gConnection.<init>(Jdbc3gConnection.java:24) 
    at org.postgresql.Driver.makeConnection(Driver.java:412) 
    at org.postgresql.Driver.connect(Driver.java:280) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:173) 
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:164) 
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149) 
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119) 
    at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:202) 
    ... 11 more 

.propertiesファイルが

jdbc.driverClassName=org.postgresql.Driver 
jdbc.url=jdbc:postgresql://localhost:5432/postgres 

jdbc.password=admin 
jdbc.username=admin 

spring.xml

<bean 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="location"> 
      <value>com\cts\resource\constant.properties</value> 
     </property> 
    </bean> 

    <bean id="dataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="${jdbc.driverClassName}" /> 
     <property name="url" value="${jdbc.url}" /> 
     <property name="username" value="${jdbc.username}" /> 
     <property name="password" value="${jdbc.password}" /> 
    </bean> 

    <bean id="transactionManager" 
      class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
     <property name="dataSource" ref="dataSource"/> 
    </bean> 

この上の任意のヘルプははるかに高く評価され、私はちょうどので、この奇妙なエラーの進行することはできないのですが、ファイル奇妙です。

+0

'' postgresql.conf'に 'log_connections = on'を設定し、' pg_ctl reload'でリロードして、もう一度やり直してPostgreSQLサーバログからメッセージを投稿してください。 –

+0

私は提案通りに変更を加え、postgresql.confにlog_connections = onを設定し、SELECT pg_reload_conf();を実行しました。それはtを返しました。私がアプリケーションから接続しようとしたときに、まだ問題が残っています。この作品を喜ばせるための提案はありますか? – Sarronya

+0

私が提案したようにPostgreSQLサーバログに失敗した接続試行が生成されたというメッセージを投稿してください。 –

答えて

1

まだ試していない場合は、pg_hba.confファイルを確認してください。

/etc/postgresql/9.6/main/pg_hba.conf (Ubuntu 16.04) 
/var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20); 

find/-name pg_hba.confを使用してファイルを見つける必要があるかもしれません。

ファイルの最後に、ローカルテストのためにMETHOD値を信頼するように変更します(詳細はpostgres docsを参照してください)。

sudo systemctl restart postgresql  # ubuntu 

うまくいけば、これはあなたの苦境を治すます:すべてがきれいに開始され、新しいparamsを読まされることを保証するためにはpostgresを再起動します。それはUbuntu/Fedoraで私の問題を解決しました。

関連する問題