我想我在问这里之前已经遵循了所有可能的指南。
我正在尝试远程连接到安装在EC2 Linux实例(Ubuntu服务器18.04,如果需要的话是免费的)上的PostgreSQL数据库。
这是我撞墙求助之前要做的所有步骤。
我编辑了/etc/postgresql/10/main/pg_hba.conf
,并添加了以下几行:
全部托管0.0.0.0/0 md5
托管所有::: 0 md5
我编辑了/etc/postgresql/10/main/postgresql.conf
,将#listen_addresses = 'localhost'
更改为listen_addresses = '*'
我使用sudo service postgresql restart
我在实例安全组中添加了一个新的入站规则,如下所示:
TCP端口:5432源:0.0.0.0/0,:: / 0
毕竟,我试图通过本地机器(使用pgadmin3或psql)进行连接,但仍然收到超时错误(主机被隐藏):
psql -h <PUBLIC-IP-OF-MY-INSTANCE> -U umberto -d wondermap
or even
psql -h <PUBLIC-IP-OF-MY-INSTANCE> -U postgres
psql: could not connect to server: Connection timed out
Is the server running on host "<PUBLIC-IP-OF-MY-INSTANCE>" and accepting
正在做S ELECT version();
显示:
PostgreSQL 10.7 (Ubuntu 10.7-0ubuntu0.18.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0, 64-bit
可能是什么问题?
答案 0 :(得分:1)
显然,我不得不取消阻止服务器防火墙上的postgres端口。
sudo ufw allow 5432/tcp
做到了!