gpt4 book ai didi

postgresql - 如何使用 psql 连接到 RDS Postgres 实例

转载 作者:行者123 更新时间:2023-12-05 04:46:44 24 4
gpt4 key购买 nike

我是 RDS 的新手,大部分时间只通过 Rails 和/或 Heroku 使用过 postgres,所以对数据库管理没有那么深入。我想要做的就是验证我可以连接到我刚刚在 AWS 上创建的 RDS 实例,但它挂起,psql 在挂起大约 30 秒或几分钟后报告这个我猜:

$ psql postgresql://myuser:mypass@myawshost.rds.amazonaws.com:5432/my-db-name
psql: error: could not connect to server: Operation timed out
Is the server running on host "myawshost.rds.amazonaws.com" (<the ip address>) and accepting
TCP/IP connections on port 5432?

如何从本地主机连接到我的 AWS RDS 实例?

  • 我确信我有正确的用户名和密码。
  • 我确定主机是正确的。
  • 不确定是否应该包括端口。
  • 不确定是否应该输入数据库名称,因为在我的数据库的 RDS 管理控制台的“配置”选项卡下,它显示数据库实例 ID:我的-db-name,引擎版本:13.3,数据库名称:-,我不确定 - 是我实际的 postgres 数据库名称还是 my-db-name 是....

我用数据库名称试过了,它仍然挂起:

$ psql postgresql://myuser:mypass@myawshost.rds.amazonaws.com:5432/-
  • 我编辑了在 https://console.aws.amazon.com/rds/homeConnectivity & security 选项卡的 VPC security groups 部分下链接的安全组。 ,因此它允许所有传入连接。我还尝试将传入连接限制为我的 IP 地址。

任何帮助将不胜感激,谢谢。不知道为什么它会挂起。我使用本地版本的 postgres 很好,但无法连接到 postgres RDS。

Connectivity and Security > Security 部分下面,我刚刚注意到它说 Public accessibility: No。我必须启用其他功能吗?还有一个VPC,一个Subnet group,还有几个Subnet,我不是很了解,一定要在那里做点什么吗?

最后,“status”表示 Available 并且绿灯亮起,所以看起来一切正常。

最佳答案

我在 AWS 知识中心找到了一个有用的链接,希望对您有所帮助。顺便说一句,如果您的 RDS 部署在公共(public)子网中,是的,如果您想通过互联网访问 RDS,则需要启用。

我的数据库实例位于公共(public)子网中,我无法从我的本地计算机通过互联网连接到它当数据库实例的可公开访问属性设置为否时,可能会发生此问题。要检查数据库实例是否可公开访问,您可以使用 Amazon RDS 控制台或 AWS CLI。

将 Amazon RDS 实例的可公开访问属性更改为是:

  1. 验证您的 VPC 是否附加了互联网网关。确保安全组的入站规则允许连接。

  2. 打开 Amazon RDS 控制台。

  3. 从导航 Pane 中选择数据库,然后选择数据库实例。

  4. 选择修改。

  5. 在连接下,扩展附加配置部分,然后选择可公开访问。

  6. 选择继续。

  7. 选择修改数据库实例。

注意:您无需选择“立即应用”。有关立即应用如何影响停机时间的更多信息,请参阅使用立即应用参数。

https://aws.amazon.com/premiumsupport/knowledge-center/rds-connectivity-instance-subnet-vpc/

关于postgresql - 如何使用 psql 连接到 RDS Postgres 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68735423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com