adb_hba.conf 配置项 说明 TYPE Type = host表示远程连接。Type = local表示本地Unix domain socket连接。 DATABASE Database = all 表示所有数据库。其他名字要求严格匹配,还可以规定一个由逗号分隔的数据库列表。 USER User = all 表示所有用户。其他名字要求严格匹配,还可以规定一个由逗号分隔的用户列表。 CIDR-ADDRESS CIDR-ADDRESS 由两部分组成,即IP地址/子网掩码。子网掩码规定了IP地址中前面哪些位表示网络编号。这里/0表示IP地址中没有表示网络编号的位,这样的话全部的IP地址都匹配,例如192.168.0.0/24表示匹配前24位,所以它匹配任何192.168.0.x形式的IP地址。 METHOD Method = trust表示可信认证,允许免密登录。其他的认证方法包括MD5,则要求客户端输入密码验证才能访问数据库
解决方式
为安全起见,默认禁用了远程连接访问功能,只允许localhost连接。那么,如何启用该功能呢?
为了启用网络或者远程访问功能,我们需要在postgresql.conf文件中添加或者编辑下列内容:
listen_addresses = '*'
在adb_hba.conf添加如下内容,以便允许用户通过某种method来访问数据库:
TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 10.20.21.0/24 trust
postgresql.conf
配置项 说明
listen_addresses = ‘’ listen_addresses指定了要侦听的IP地址。默认只监听localhost的地址,也就是禁止远程服务器来访问。在大多数情况下,我们会接受所有主机的连接,所以可以使用“”,它表示所有IP地址。如果只接受指定ip的连接,则在adb_hba.conf进行配置。
adb_hba.conf
配置项 说明
TYPE Type = host表示远程连接。Type = local表示本地Unix domain socket连接。
DATABASE Database = all 表示所有数据库。其他名字要求严格匹配,还可以规定一个由逗号分隔的数据库列表。
USER User = all 表示所有用户。其他名字要求严格匹配,还可以规定一个由逗号分隔的用户列表。
CIDR-ADDRESS CIDR-ADDRESS 由两部分组成,即IP地址/子网掩码。子网掩码规定了IP地址中前面哪些位表示网络编号。这里/0表示IP地址中没有表示网络编号的位,这样的话全部的IP地址都匹配,例如192.168.0.0/24表示匹配前24位,所以它匹配任何192.168.0.x形式的IP地址。
METHOD Method = trust表示可信认证,允许免密登录。其他的认证方法包括MD5,则要求客户端输入密码验证才能访问数据库
其他的一些可能的原因,如下:
原因说明
按上述说明依次排查