我正在尝试使用spring Boot 和postgres开发一个web应用程序。我使用http://start.spring.io/创建了一个入门spring项目,并将Postgres SQL jdbc驱动程序作为依赖项。我在application.properties文件中添加了以下内容
spring.datasource.url= jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=postgres
spring.datasource.password="mypassword@123"
spring.jpa.hibernate.ddl-auto=validate
字符串
但是,这会引发以下错误:
2017-07-30 19:09:15.168 ERROR 2959 --- [ main] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "postgres"
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:443) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7]
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:217) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7]
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7]
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:215) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7]
at org.postgresql.Driver.makeConnection(Driver.java:404) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7]
at org.postgresql.Driver.connect(Driver.java:272) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7]
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:310) ~[tomcat-jdbc-8.5.16.jar:na]
at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:203) ~[tomcat-jdbc-8.5.16.jar:na]
at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:735) [tomcat-jdbc-8.5.16.jar:na]
at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:667) [tomcat-jdbc-8.5.16.jar:na]
型
密码没有错,当我用psql用那个密码登录数据库时,它就能工作了。
pg_hba.conf文件是:
local all all password
host all all 127.0.0.1/32 password
host all all ::1/128 password
型
我在我的MacBook Pro上使用java 1.8和postgres SQL 9.6。
3条答案
按热度按时间v9tzhpje1#
您的密码应该是一个简单的文本(不添加字符
"
)字符串
lymnna712#
我是在本地运行我的应用程序时得到这个的,没有手动创建我的数据库,用户和密码。手动创建它们后,然后重新运行应用程序工作。
xdyibdwo3#
我解决了这个问题,在我的情况下,我需要连接到PostgreSQL,我让它在Docker中运行。第一步是检查端口5432是否正在使用命令:
netstat -a
。问题是我也在本地安装了PostgreSQL,它打开了端口5432,所以我从Windows -> Services停止了进程。这对我很有效。