我希望以前有过这方面经验的人可以帮助我获得与AWS / EC2的连接 - > Postgres工作。
以下所有内容均来自Mac客户端上的终端。
有问题的数据库 - Postgres - 在我的本地Mac上在此EC2服务器 not 上远程运行(我的本地Mac上也没有安装Postgres)
我的理解是我需要能够实际连接到EC2服务器并制作SSL"隧道"连接 - :从我的PC到同一个EC2服务器 - 这样我就可以访问Postgres数据库了
如果我的理解有错,请告诉我。
所以,我打开了2个终端窗口。 A航站楼和B航站楼。
(a)连接到EC2服务器工作正常。这是CLI命令:
ssh -L 3307:127.0.0.1:3306 -i my.pem ubuntu@xx.yy.zzz.99
终端A中的CLI然后显示Ubuntu /服务器提示符
Last login: Wed Oct 25 12:27:31 2017 from aaa222-444.xxxx.rrr.ff.net
ubuntu@ip-111-222-333-44:~$
然后,我去B航站楼......
(b)我尝试使用以下命令与Postgres 建立连接:
psql -h localhost -p 3307 -U postgres_uid postgres_databasename
每次都失败。
我在B航站楼收到此回复:
psql: received invalid response to SSL negotiation: [
我想知道,这个DATABASE连接是否需要不同的SSL设置?或者应该是我登录AWS EC2服务器后(如上所述)我应该能够运行psql命令(或使用Navicat等GUI客户端)?
我感到茫然,这里没有人知道如何解决这个问题/设置它。它可能很简单但很好,我只需要连接: - )
感谢任何人的帮助。
答案 0 :(得分:0)
在-d选项中使用URI语法,SSL应该自行处理。
我使用以下命令访问云postgres实例(在bluemix上,而不是ec2),给它一个去...:
psql -d postgres://<user>:<password>@<host>:<port>/<dbname>