PostgreSQL 给了我 "connection refused" 即使 "listen_addresses = '*'"

PostgreSQL gives me "connection refused" even if "listen_addresses = '*'"

我有一个新的 DigitalOcean Droplet,我在其中设置了一个 Postgres 数据库,我试图从我的本地机器访问它(通过 pd.read_sql_query)。我无法与 Droplet 建立连接,我也不知道我错在哪里。我已经更改了 pg_config 和 pg_hba 文件并重新启动了我的 psql 服务器。

这是我的 pg_hba 文件:

这是我的 pg_config:

这是我 运行

时 Droplet 上的输出
netstat -nlt

我的理论是,出于某种原因,端口 5432 仅侦听本地连接。这里的参考是 ls_pgclusters:

的输出

最后这是我尝试连接到服务器时得到的输出:

C:\WINDOWS\system32>psql -h xxx.xx.xxx.xxx -p 5432 -d dbName -U postgres
psql: error: could not connect to server: Connection refused (0x0000274D/10061)
        Is the server running on host "xxx.xx.xxx.xxx" and accepting
        TCP/IP connections on port 5432?

我不知道还有什么方法可以连接到服务器。任何帮助将不胜感激。

你把listen_addresses改成了*,但是你忘了去掉行首的注释(#),所以参数还是默认值localhost.

删除 # 并重新启动 PostgreSQL。