如何将 spring 引导 Web 应用程序连接到 postgresql 数据库
How to connect spring boot web app to postgresql database
我正在开发一个 Spring 引导项目,我试图将我的服务器连接到 postgresql 数据库。
当我 运行 我的 IDE 程序(在我的 windows OS 上)它正在工作但是当我制作一个 jar 文件并 运行 它在我的 ubuntu 托管我的数据库的服务器虚拟机不工作。
org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
我已经检查了我的防火墙规则,但仍然没有成功。
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
我做了一些研究,听说要修改 postgresql 的配置文件,但它仍然不起作用,我不知道问题出在哪里。
我在 postgresql.conf 上修改的行下方:
listen_addresses = '*' # what IP address(es) to listen on;
ssl = on
对于 pg_hba.conf:
local all postgres peer
local all kapitax trust
# TYPE DATABASE USER ADDRESS METHOD
#host all kapitax * password
#host all all 0.0.0.0/0 md5
# "local" is for Unix domain socket connections only
local all all * trust
# IPv4 local connections:
host all all * password
# IPv6 local connections:
host all all ::1/128 password
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all * md5
host replication all ::1/128 md5
问题可能来自 applcation.properties 代码 ?
spring.datasource.url= jdbc:postgresql://localhost:5432/kapitax
spring.datasource.username=kapitax
spring.datasource.password=kapitax
spring.jpa.hibernate.ddl-auto=create-drop
server.port=8090
行
#host all all 0.0.0.0/0 md5
应该像这样启用:
host all all 0.0.0.0/0 md5
使用 0.0.0.0/0
您将侦听所有 IPv4 地址。更改此配置后,请确保重新加载服务器设置或重新启动数据库服务器。可以在以下答案中找到更详细的解释:How to configure PostgreSQL to accept all incoming connections
我正在开发一个 Spring 引导项目,我试图将我的服务器连接到 postgresql 数据库。 当我 运行 我的 IDE 程序(在我的 windows OS 上)它正在工作但是当我制作一个 jar 文件并 运行 它在我的 ubuntu 托管我的数据库的服务器虚拟机不工作。
org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
我已经检查了我的防火墙规则,但仍然没有成功。
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
我做了一些研究,听说要修改 postgresql 的配置文件,但它仍然不起作用,我不知道问题出在哪里。
我在 postgresql.conf 上修改的行下方:
listen_addresses = '*' # what IP address(es) to listen on;
ssl = on
对于 pg_hba.conf:
local all postgres peer
local all kapitax trust
# TYPE DATABASE USER ADDRESS METHOD
#host all kapitax * password
#host all all 0.0.0.0/0 md5
# "local" is for Unix domain socket connections only
local all all * trust
# IPv4 local connections:
host all all * password
# IPv6 local connections:
host all all ::1/128 password
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all * md5
host replication all ::1/128 md5
问题可能来自 applcation.properties 代码 ?
spring.datasource.url= jdbc:postgresql://localhost:5432/kapitax
spring.datasource.username=kapitax
spring.datasource.password=kapitax
spring.jpa.hibernate.ddl-auto=create-drop
server.port=8090
行
#host all all 0.0.0.0/0 md5
应该像这样启用:
host all all 0.0.0.0/0 md5
使用 0.0.0.0/0
您将侦听所有 IPv4 地址。更改此配置后,请确保重新加载服务器设置或重新启动数据库服务器。可以在以下答案中找到更详细的解释:How to configure PostgreSQL to accept all incoming connections