微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何pg_dump一个RDS Postgres数据库?

如何使用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 DB实例时最常见的问题是分配给DB实例的安全组具有不正确的访问规则.认情况下,DB实例不允许访问;通过安全组授予访问权限.要授予访问权限,您必须为您的情况创建具有特定入口和出口规则的自己的安全组.有关为数据库实例创建安全组的更多信息,请参阅创建安全组.

最常见的错误是无法连接到服务器:连接超时.如果收到此错误,请检查主机名是DB实例端点,并且端口号正确.检查分配给数据库实例的安全组是否具有允许通过本地防火墙访问的必要规则.

有没有办法从pg_dump指定我的安全组?如果是这样,当ssh’ing时,是否需要一个本地的拷贝?

甚至尝试远程使用pg_dump是一个错误吗?我应该试图将ssh转移到实例上,还是完全做其他事情?

解决方法

步骤1:在AWS上创建一个安全组,其中列出了计算机的IP地址.

步骤2:将该安全组添加到要连接的数据库实例.

步骤3:运行pg_dump.确保使用-U命令指定您的用户名(感谢@LHWizard).在这种情况下,我的不是’postgres’,所以我想你一般来说,你必须看看aws找到它.还要确保指定您的数据库名称:在某些命令行工具中有一个-d开关,但是如果您检查pg_dump的用法

Usage:
  pg_dump [OPTION]... [dbnAME]

你可以看到这是一个正式的论证.
所以整个命令(在我的情况下)是:

pg_dump -h <public dns> -U <my username> -f dump.sql <name of my database>

请注意,指定端口号不是必需的 – 我认为因为端口5432是Postgres的端口.

原文地址:https://www.jb51.cc/mssql/82732.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐