0

我已经读过,为了启用对 postgres 数据库的远程访问,必须修改 pg_hba.conf 以添加客户端身份验证记录,并更改 postgresql.conf 中的侦听地址。详情在这里

完成这两件事后,我的 postgres 服务将无法启动。这是我的日志:

2016-03-14 20:10:48 WET LOG:  invalid IP mask "trust": Unknown host
2016-03-14 20:10:48 WET CONTEXT:  line 81 of configuration file "C:/Program Files/PostgreSQL/9.5/data/pg_hba.conf"
2016-03-14 20:10:48 WET FATAL:  could not load pg_hba.conf

第 81 行是我添加客户端身份验证记录的位置。

当我尝试启动服务时,使用本地系统帐户是否足够,还是需要登录?我是否需要在 postgresql 应用程序中配置具有组角色和登录角色的内容?最后,如果有什么不同,数据库将托管在 Google Compute Engine 实例上。

4

1 回答 1

4

从您收到的错误中可以清楚地看出您在 postgresql.conf 中进行了以下更改:

listen_addresses = 'localhost'

至:

listen_addresses = '*'

正确。

那么问题就在 pg_hba.conf 中,你应该有:

host    all         all         192.168.101.20/24    trust

你确定你没有放类似的东西:

host    all         all         192.168.101.20/trust

或者

host    all         all         192.168.101.20/    trust

或者

host    all         all         192.168.101.20    trust

24 是 IP 掩码,即有多少 ip 将用作过滤器。24 掩码意味着任何 ip 为 192.168.101.xxx 的主机都将被接受。32 掩码将限制对单个 ip 的访问。

系统似乎在说它发现信任作为 ip 掩码......

问候

于 2016-03-15T20:18:14.380 回答