我无法使用Postgres连接到AWS RDS

时间:2020-05-17 12:48:44

标签: postgresql macos amazon-web-services terminal rds

我已经在aws上创建了一个实例/数据库,当我尝试通过终端连接到它时,通过运行下面的代码,我得到了一个错误。

我在终端中运行的行是:

psql --host = testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com --port = 5432 --username = postgres --password --dbname = testdb

它返回的错误是:

psql: error: could not connect to server: could not translate host name "testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com" 
to address: nodename nor servname provided, or not known. 

我花了最后三天的时间阅读相关文档并尝试使其正常运行,但我不知道我在哪里出错。

也可以在我运行时:

nslookup testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com

它返回:

Non-authoritative answer:
*** Can't find testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com: No answer

我来自统计学背景,我在R和python中做了相当多的编码,但是Im对于使用终端等来说还是比较新的!

感谢任何指导或帮助,因为这使我想对笔记本电脑进行打孔。

2 个答案:

答案 0 :(得分:0)

似乎是DNS解析问题。我能够使用DIG来解决它。

在VPC中,确保在VPC上同时启用以下两个options

  • enableDnsHostnames
  • enableDnsSupport

如果RDS实例未托管在VPC中,而是通过VPC对等实体访问,则DNS解析可能需要在VPC对等实体上enabling

答案 1 :(得分:0)

在运行dig命令时: dig testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com

它返回了一个专用IP:172.31.23.42

您似乎正在以私有或内部方式运行RDS实例,即无法从Internet上访问它。

您需要从VPC本身访问它,或者需要使用VPN。