postgresql - AWS RDS Postgresql Pgadmin - 服务器不听

标签 postgresql amazon-web-services amazon-rds

我按照 aws 教程找到了 here .

一切顺利,直到通过 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. 

最佳答案

第一步 您得到的对话框与我在上面看到的相同。废话!

第 2 步 转到您的 RDS instances

第 3 步 转到您的 security groups

第 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->instances 右键单击​​您的实例)。您将看到与此数据库实例关联的 VPC 安全组的安全组列表之类的内容。

你会看到类似这样的东西: 默认(sg-********)(事件)

第 6 步 在您的 VPC security groups 中找到与您的数据库匹配的 sg-********。右键单击那个。编辑入站/出站规则以添加 postgresql。

尝试重新连接。

这解决了我的问题。

如果这不能解决您的问题,我非常抱歉,但我希望这份文档能给我带来一些调试业力。

关于postgresql - AWS RDS Postgresql Pgadmin - 服务器不听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37901724/

相关文章:

c# - 使用Dataadapter更新时出现DBConcurrency异常

python - Django 1.11.4 Postgresql SELECT ARRAY 到 django orm

mysql - 从 VPS 连接到 RDS

mysql - AWS RDS - 由 : java.net.SocketTimeoutException 引起:读取超时

postgresql - 使用游标执行函数时出错

python - Postgres 咨询锁不起作用

python - 无法在 AWS Lambda (Python) 中导入模块

reactjs - 如何在AWS中API网关和React应用程序之间启用CORS策略?

mysql - AWS Aurora 与 MySQL 的兼容性

amazon-web-services - AWS::RDS::DBCluster 的 CREATE_FAILED 出现输入与预期格式错误不匹配的情况