我遵循了here找到的aws教程。
一切都很顺利,直到通过 pgadmin 连接到 postgresql 实例。
我输入了适当的用户/密码信息并适当地复制/粘贴了数据库的地址。
我的 aws 仪表板上的端口确实是 5432。
我收到以下错误消息:
Server doesn't listen
The server doesn't accept connections: the connection library reports
could not connect to server: Operation timed out Is the server running on host "my_database_name.some_stuff.us-west-2.rds.amazonaws.com" (52.10.228.18) and accepting TCP/IP connections on port 5432?
If you encounter this message, please check if the server you're trying to contact is actually running PostgreSQL on the given port. Test if you have network connectivity from your client to the server host using ping or equivalent tools. Is your network / VPN / SSH tunnel / firewall configured correctly?
For security reasons, PostgreSQL does not listen on all available IP addresses on the server machine initially. In order to access the server over the network, you need to enable listening on the address first.
For PostgreSQL servers starting with version 8.0, this is controlled using the "listen_addresses" parameter in the postgresql.conf file. Here, you can enter a list of IP addresses the server should listen on, or simply use '*' to listen on all available IP addresses. For earlier servers (Version 7.3 or 7.4), you'll need to set the "tcpip_socket" parameter to 'true'.
You can use the postgresql.conf editor that is built into pgAdmin III to edit the postgresql.conf configuration file. After changing this file, you need to restart the server process to make the setting effective.
If you double-checked your configuration but still get this error message, it's still unlikely that you encounter a fatal PostgreSQL misbehaviour. You probably have some low level network connectivity problems (e.g. firewall configuration). Please check this thoroughly before reporting a bug to the PostgreSQL community.
步骤1 您将看到与我在上面看到的相同的对话框。糟糕!
第2步 转到您的 RDS 实例
第3步 转到您的安全组
第4步 如果您的帐户和我的一样,您会看到以下文字:
Your account does not support the EC2-Classic Platform in this region.
DB Security Groups are only needed when the EC2-Classic Platform is supported.
Instead, use VPC Security Groups to control access to your DB Instances.
Go to the EC2 Console to view and manage your VPC Security Groups.
For more information, see AWS Documentation on Supported Platforms and Using RDS in VPC.
第5步返回并检查您的RDS安全组名称(RDS->实例右键单击您的实例)。您将看到与此数据库实例关联的 VPC 安全组的安全组列表之类的内容。
您会看到类似以下内容:
default (sg-********) ( active )
第 6 步 在您的 VPC 安全组 中找到与您的数据库匹配的
sg-********
。右键单击它。编辑入站/出站规则以添加 postgresql。
尝试重新连接。
这解决了我的问题。
如果这不能解决您的问题,我很抱歉,但我希望这个文档给我带来一些调试业力。
转到安全组中的 AWS 服务,单击安全组 id 。从“操作”按钮中单击“编辑入站角色”,然后将“源”更改为“我的 IP”