无法从服务器外部访问PostgreSQL

时间:2016-05-10 06:03:20

标签: postgresql windows-server-2008

无法从服务器外部访问PostgreSQL

我的服务器上已经有2个PostgreSQL数据库实例,但是我没有配置它们。这两个数据库都在Windows Server上作为服务提供。有一个列“登录为”,其中PostgreSQL服务的值是“网络服务”。

我创建了另一个PostgreSQL实例,并通过pg_ctl.exe将其添加到服务中。一切都与其他服务完全一样。一个不同的是,“登录为”的值设置为“。\ postgres”。如果我将其更改为“网络服务”,那么我会收到服务启动中的下一条消息:

  

本地计算机上的“servicename”服务已启动然后停止。如果某些服务未被其他服务或程序使用,则会自动停止。

如果设置为'。\ postgres'或'Local System',则可以启动数据库,我可以通过pgAdmin访问它(如果它在本地服务器上)。但我无法从服务器外部访问此数据库。

在postgresql.conf中我只设置listen_addresses和port。

问题可能出在路由器上,但​​我想知道这个“登录为”并不是问题的根源。

2 个答案:

答案 0 :(得分:1)

应该在pg_hba.conf中明确允许来自外部IP的访问 - http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html

答案 1 :(得分:0)

我无法通过网络服务'启动PostgreSQL服务的问题as'登录为'是由于缺少此用户的数据文件夹权限。我刚刚添加了网络服务'在具有完全控制权限的“安全”选项卡中,这解决了这个小问题。

但是,当我无法从服务器外部访问我的数据库时,问题是由网络设置引起的。我配置了我的路由器,现在一切正常。