2012-02-09 138 views
4

在过去的三/四个月里,我在本地部署了PostGIS,但现在我刚刚获得了部署PostGIS的服务器,并扩展了我的开源冒险。我已经安装了Postgres/gis,并且在我的Windows服务器上工作得很好,但是如何从我的桌面PC(通过QGIS)连接到它。我已经在“Windows Server上的远程访问PostGIS”中查找了线程和变体,但实际上没有找到具体的东西。远程访问PostGIS

我得到了必须编辑一些Postgres配置文件以允许远程访问的要点,但做此评论的线程都提供差异化​​解决方案。很困惑!

+0

这是一个相当大的问题,与GIS没有直接关系。不应轻易配置远程访问的RDMS以及所有相关的认证,授权和安全问题。我建议你至少拿一本关于PostgreSQL管理的书。 – Sean 2012-02-09 20:05:29

回答

2

总之,是的。它内置于PostgreSQL使用的IP协议中。

但是,它部分取决于您的网络。您的Windows Server是否有静态IP或DNS名称(例如yourname.com)?如果您的服务器具有动态IP,请尝试类似http://dyn.com/dns/。此外,如果您的服务器位于防火墙或路由器后面,则可能需要使用端口转发将PostgreSQL端口(通常为5432)暴露给外部流量。

PostgreSQL/PostGIS方面的东西更容易设置。网络中有资源用于告诉您如何启用到PostgreSQL数据库的远程连接(例如this)。基本上,您需要编辑您的postgresql.confpg_hba.conf文件,并重新启动和/或刷新您的服务器。

要从QGIS进行连接,请在“主机”中与DNS名称或IP地址建立新连接。我经常使用QGIS连接到远程服务器。

+0

我更改了postgresql.conf和pg_hba.conf,并且我的服务器人员说我们的路由器上的端口5432已经被暴露,并且我仍然不能从QGIS连接到远程Postgres。还有什么想法? – geomiles 2012-02-14 13:40:42

+0

我可以从经验中得知,这可能需要很长时间来设置,而且我需要一个服务器人员来帮助设置它。确保您可以先从另一台计算机的内部网连接,然后尝试从网络外部查看端口是否被正确转发到服务器。 – 2012-02-16 01:46:42

1

以空间注意postgresql.conf里面的

listen_addresses='*' 

配置。

默认情况下,它只允许本地连接,并且需要将'*'设置为允许从任何机器连接。

+0

listen_addresses告诉PostgreSQL要监听的IP地址。不是接受连接的机器。 – Sean 2012-02-09 20:13:25

+0

是的,但仔细检查它,如果你只接受本地连接,不管你在ph_hba.conf上配置了什么,你都不会连接remotelly。 – EricSonaron 2012-02-09 20:42:56