postgresql - 在本地网络外访问 PostgreSQL 数据库

标签 postgresql networking remote-access host

我有一台 Windows 10 计算机,我想访问本地网络之外的另一台计算机上设置的数据库。

是否有可能使用 postgresql 实现这一点?

非常感谢,非常感谢您为帮助我克服这种情况所做的努力。

最佳答案

这是可能的,前提是:

  1. 本地网络的防火墙允许到 PostgreSQL 监听端口(通常为 5432)的传出连接。
  2. 其他网络的防火墙允许传入连接到 PostgreSQL 监听端口(通常为 5432)。
  3. PostgreSQL 服务器的防火墙允许其监听端口(通常为 5432)上的连接。
  4. PostgreSQL 服务器配置为接受网络连接。

您可以使用 Nmap 等网络扫描仪来测试,要做的就是在客户的网络上获取一台笔记本电脑,然后从那里进行扫描。如果您可以从同一子网上的地址连接到 PostgreSQL,那么您就知道 PostgreSQL 服务器上不需要其他任何东西,因此您需要关注客户的防火墙。这就是事情变得困难的地方,您需要与控制防火墙/路由器的人合作。

客户的网络很可能位于 RFC 1918 子网上。如果是这种情况,防火墙/路由器将需要配置为端口转发,如下所示:


public internet
       |
 ----public address--port nnn--
|                             |
|     firewall                |
|                             |
|-----rfc 1918 address--------|
          |     
          |  
          |  
 ----rfc 1918 address--port 5432--
|                                |
|     PostgreSQL server          |
|                                |
|--------------------------------|

关于postgresql - 在本地网络外访问 PostgreSQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64216963/

相关文章:

postgresql - 分组选择第 n 行 Postgres

ios - 在 LAN 中广播 UDP 消息以检测 IP 摄像机

networking - 数据链路层和链路层有什么区别?

javascript - HttpRequest 和 XMLHttpRequest 之间的真正区别

sql - 如何修复这个 PostgreSQL 外键错误?

sql - 无法授予对现有表的访问权限

postgresql - `RETURN TABLE(columns )` be equivalent to using one or more ` OUT` parameters, and marking the function as returning `SETOF` record?

php - 集中式 MySQL 数据库

node.js - 如何在 AWS 实例上保持持久的 http 服务器打开

c# - 远程调用时 Powershell SendKeys 访问被拒绝