将远程 Postgresql 与 AWS for Rails 应用程序一起使用

Posted

技术标签:

【中文标题】将远程 Postgresql 与 AWS for Rails 应用程序一起使用【英文标题】:Using a remote Postgresql with AWS for Rails app 【发布时间】:2016-05-01 06:49:27 【问题描述】:

我在另一台服务器上使用远程 PostgreSQL,并希望将 Rails 应用程序部署到 AWS。我希望 AWS 与那个远程 PostgreSQL 数据库服务器通信。

我收到了错误:

致命:用户“postgres”的对等身份验证失败

虽然我已将pg_hba.conf 中的 IP 列入白名单

我是如何列入白名单的?

我在 AWS 控制台中看到了公共 IP 并添加了它。我已 ping 我的 AWS 站点并添加了该 IP。

【问题讨论】:

psql: FATAL: Peer authentication failed for user "dev"的可能重复 这是正常情况。我说的是 AWS 的具体情况。 请附上您的 pg_hba.conf 文件。 gist.github.com/pbssubhash/0332390a1099bca71abc7fc229e4a209@RaviTezu 【参考方案1】: 错误中的

Peer authentication 表示您不是尝试远程连接,而是本地连接。您必须查看database.yml 中的设置。看 PG Peer authentication failed 询问相关问题。

一旦您准备好连接到真正的远程服务器,这可能仍然无法与 cmets 中链接的 pg_hba.conf 一起使用,因为:

host all all * md5
host all all [AWS-PINGED-IP] md5
host all all [AWS-SPECIFIED-PUBLIC-IP] md5

* 不被接受为 IP 地址掩码,此处不欢迎使用 shell 通配符语法。在 CIDR 表示法中使用 0.0.0.0/0 来表示“任何 IPv4 地址”。 或者,如果您不打算接受来自任何地址的连接,则完全删除这一行,考虑到后面的两行似乎就是这种情况。

请注意,规则解释在声明顺序的第一个匹配处停止,因此“接受所有”规则后跟限制性更强的规则是没有意义的,因为后者将始终被忽略。

【讨论】:

以上是关于将远程 Postgresql 与 AWS for Rails 应用程序一起使用的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以使用 xcode for ios 应用程序远程访问 postgresql?

只需五步!将数据仓库从 Redshift 迁移到阿里云 AnalyticDB for PostgreSQL

Sql开发人员连接到远程postgresql

如何将 AWS S3 存储桶与远程非 AWS 服务器上的文件同步?

Django/PostgreSQL 全文搜索 - 在 AWS RDS PostgreSQL 上使用 SearchVector 与 SearchVectorField 时的不同搜索结果

Aurora PostgreSQL 可以与 AWS AppSync 一起使用吗?