【发布时间】:2021-05-07 06:09:40
【问题描述】:
如何使用 pg_dump 连接到我的 RDS 实例?
这是实例的端点:
<long public dns thing>:5432
所以我正在运行这个命令:
pg_dump -h <long public dns thing> -p 5432 -f dump.sql
得到这个:
pg_dump: [archiver (db)] connection to database "brendan" failed:
could not connect to server: Connection refused
Is the server running on host "<long public dns thing>"
(<IP address>) and accepting TCP/IP connections on port 5432?
这是亚马逊的故障排除建议:
无法连接到 Amazon RDS PostgreSQL 数据库实例
尝试连接到 PostgreSQL 数据库实例时最常见的问题是分配给数据库实例的安全组的访问规则不正确。默认情况下,数据库实例不允许访问;通过安全组授予访问权限。要授予访问权限,您必须创建自己的安全组,并针对您的情况使用特定的入口和出口规则。有关为数据库实例创建安全组的更多信息,请参阅创建安全组。
最常见的错误是无法连接到服务器:连接超时。如果您收到此错误,请检查主机名是否为数据库实例终端节点并且端口号是否正确。检查分配给数据库实例的安全组是否具有允许通过本地防火墙进行访问的必要规则。
有没有办法从 pg_dump 指定我的安全组?如果是这样,我是否必须像在 ssh'ing 时需要 ssh 密钥那样获取本地副本?
甚至尝试远程使用 pg_dump 是错误的吗?我应该尝试 ssh 到实例上,还是完全做其他事情?
【问题讨论】:
-
这是因为您没有指定正确的凭据吗? -U postgres 或任何适合您的数据库的东西?
-
-U postgres指定我的用户名是'postgres'?... -
是的,完全正确。
pg_dump -U postgres -h etc...或任何正确的 postgres 用户。我记得默认情况下它通常是“postgres”。
标签: database postgresql amazon-web-services