程序连接postgresql数据只能用localhost连,用IP地址连接或机器名就没有用,请问怎么设置?

时间:2022-06-02 13:40:01
程序连接postgresql数据只能用localhost连,用IP地址连接或机器名就没有用,请问怎么设置?

11 个解决方案

#1


给你一配制文件样本吧,data目录下的pg_hba.conf,
linux下的(本机信任,其他所有机器可以MD5验证连接):
# TYPE  DATABASE    USER        IP-ADDRESS        IP-MASK           METHOD
 
local   all         all                                             trust
# IPv4-style local connections:
host    all         all         127.0.0.1         0.0.0.0           trust
# IPv6-style local connections:
host    all         all         0.0.0.0           0.0.0.0           md5

如果系统是windows(本机信任,其他所有机器可以MD5验证连接):

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               trust

# IPv4 local connections:
host    all         all         127.0.0.1/32           trust
# IPv6 local connections:
host    all         all         0.0.0.0/32             md5

#2


如果我想用机器名如:server或IP(192.168.1.10) ,该如何设置

#3


上面已经说了,把你data目录下的pg_hba.conf配置文件最后几行改成所给配置文件样例,IP访问应该没问题,如果机器名还不行的话可以在/etc/hosts文件里加入对机器名的解析(windows可以在system32/drivers/etc/hosts文件里加),可以把机器名解析成localhost或127.0.0.1之类

#4


谢谢!
 按照上面的设置, 127.0.0.1可以访问, 如果换成机器的IP,不行, 因我是访问另一台机器, 所以只能是其它真实IP或那机器名.

#5


上面的配置是服务器的配置,要访问的数据库服务器在哪台机器上就配置哪台机器。你不能只配了自己机器上的数据库,当然也要如上配置你要访问的那台机器上的数据库。

#6


我在自己本机上能能访问web应用, 但当另一个机器的web应用设置连接我的机器时不行, 从tomcat提示的错误信息看, 他向是说把台机的pg_hba.conf 配置有问题, 但我确实是将连接参数的IP指向我的机器
那机的配置,192.168.1.5是我的机的IP 
<property name="driverClassName">
      <value>org.postgresql.Driver</value>
    </property>
    <property name="url">   
  <value>jdbc:postgresql://192.168.1.5:5432/departmanageforedu</value>
</property>
    <property name="username">
      <value>postgres</value>
    </property>
    <property name="password">
      <value>123456</value>
    </property>

#7


你自己的机器是windows吧,改成这样看看:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               trust

# IPv4 local connections:
host    all         all         127.0.0.1/0           trust
# IPv6 local connections:
host    all         all         0.0.0.0/0             md5

#8


如果是8,改两个地方

1。postgresql.conf中listen_addresses='*'   

2。pg_hba.conf加一行host    all         all         127.0.0.1/0           md5



另外看看你的数据库机器是不是开了firewall,如果是关掉再连。偶有一次就是,后来关了iptables这个服务就可以连上了。

#9


学习.

#10


学习中。顶下.

#11


很有价值,顶一下

#1


给你一配制文件样本吧,data目录下的pg_hba.conf,
linux下的(本机信任,其他所有机器可以MD5验证连接):
# TYPE  DATABASE    USER        IP-ADDRESS        IP-MASK           METHOD
 
local   all         all                                             trust
# IPv4-style local connections:
host    all         all         127.0.0.1         0.0.0.0           trust
# IPv6-style local connections:
host    all         all         0.0.0.0           0.0.0.0           md5

如果系统是windows(本机信任,其他所有机器可以MD5验证连接):

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               trust

# IPv4 local connections:
host    all         all         127.0.0.1/32           trust
# IPv6 local connections:
host    all         all         0.0.0.0/32             md5

#2


如果我想用机器名如:server或IP(192.168.1.10) ,该如何设置

#3


上面已经说了,把你data目录下的pg_hba.conf配置文件最后几行改成所给配置文件样例,IP访问应该没问题,如果机器名还不行的话可以在/etc/hosts文件里加入对机器名的解析(windows可以在system32/drivers/etc/hosts文件里加),可以把机器名解析成localhost或127.0.0.1之类

#4


谢谢!
 按照上面的设置, 127.0.0.1可以访问, 如果换成机器的IP,不行, 因我是访问另一台机器, 所以只能是其它真实IP或那机器名.

#5


上面的配置是服务器的配置,要访问的数据库服务器在哪台机器上就配置哪台机器。你不能只配了自己机器上的数据库,当然也要如上配置你要访问的那台机器上的数据库。

#6


我在自己本机上能能访问web应用, 但当另一个机器的web应用设置连接我的机器时不行, 从tomcat提示的错误信息看, 他向是说把台机的pg_hba.conf 配置有问题, 但我确实是将连接参数的IP指向我的机器
那机的配置,192.168.1.5是我的机的IP 
<property name="driverClassName">
      <value>org.postgresql.Driver</value>
    </property>
    <property name="url">   
  <value>jdbc:postgresql://192.168.1.5:5432/departmanageforedu</value>
</property>
    <property name="username">
      <value>postgres</value>
    </property>
    <property name="password">
      <value>123456</value>
    </property>

#7


你自己的机器是windows吧,改成这样看看:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               trust

# IPv4 local connections:
host    all         all         127.0.0.1/0           trust
# IPv6 local connections:
host    all         all         0.0.0.0/0             md5

#8


如果是8,改两个地方

1。postgresql.conf中listen_addresses='*'   

2。pg_hba.conf加一行host    all         all         127.0.0.1/0           md5



另外看看你的数据库机器是不是开了firewall,如果是关掉再连。偶有一次就是,后来关了iptables这个服务就可以连上了。

#9


学习.

#10


学习中。顶下.

#11


很有价值,顶一下