与外部postgres数据库的连接超时

时间:2019-09-19 22:09:50

标签: node.js postgresql

我正在尝试将客户端设备连接到PostGreSQL主机设备。我有2个带有PostGreSQL的设备:一个Windows OS设备(主机)和一个运行raspbian的RaspberryPi(客户端)。

我在主机设备上具有pgAdmin,并在其上运行了PostGreSQL服务器(该服务器是具有默认配置的默认PostGreSQL服务器)。 主机设备和客户端设备位于同一网络(wifi)。


我在客户端设备上具有以下node.js代码:

const { Client } = require('pg');
const connectionString = 'postgres://postgres:MyPassword@192.168.1.8:5433/postgres';
const client = new Client({
    connectionString: connectionString
});
client.connect();
client.query('CREATE TABLE test (something text, number int)', function(err,result){
   if (err) throw err;
   console.log(result);
   console.log('hi');
});

根据上面的代码,客户端将连接并查询表的制作,然后在命令行中返回结果和“ hi”。

当我运行它时,它什么都不做。一分钟左右后,连接超时。

有什么我想念的吗?


我使用Wireshark来查看客户端设备是否甚至在发送数据包。客户端设备正在发送数据包(定向到postgresql帖子),所以我认为问题出在主机设备上,但是我不知道为什么,因为到目前为止我已经多次编辑了配置文件。

我已经...

  • 更改了配置文件

  • 重新启动系统

  • 重新安装软件

  • 切换到尝试从psql连接


好吧,这很有趣...

因此,我在主机设备上找到了真正的.config文件,然后将listen_addresses = '*'更改为listen_addresses = '192.168.1.12'。 进行这些更改后,我尝试重新启动postgres,然后该服务停止,但拒绝再次启动。我打开了pgAdmin 4,没有服务器要连接。将文件更改回listen_addresses = '*'后,服务启动,一切恢复正常。我现在的结论是防火墙存在问题。这里有没有人可以使用Windows,可以帮助我配置防火墙吗?

1 个答案:

答案 0 :(得分:0)

结果是,我对Postgres配置文件感到不安,但我必须查看防火墙配置。这些是阻止pi的原因。如果有人遇到同样的问题,建议您先检查一下防火墙。 (专门允许端口5432)