Elastic Beanstalk Django 数据库配置

Posted

技术标签:

【中文标题】Elastic Beanstalk Django 数据库配置【英文标题】:Elastic Beanstalk Django Database Configuration 【发布时间】:2019-08-06 03:03:10 【问题描述】:

我遇到了这样一种情况,即我的 django 应用程序无法连接到由同一个 EBS 环境启动的 postgres 实例。

    我已确认 RDS 和 EC2 实例所在的安全组已设置为进行通信。

    我确认数据库的凭据是正确的,因为我可以使用 CLI 让 postgres 在本地登录,也可以通过 ssh 登录到 EC2 实例。

    第三个也是最奇怪的症状是迁移起作用了。因此,在迁移时,应用程序能够连接到数据库并运行迁移,但是当尝试通过views.py 文件访问这些表时,我得到了可怕的password authentication failed 错误。

我完全被困住了,在过去的几个小时里一直在尝试我能想到的一切。我能得到的任何帮助都将是巨大的帮助。谢谢!

【问题讨论】:

您是否提供了 DB_PASSWORD=os.environ.get(DB_PASS,"somedefault") 之类的默认值,并且可能未加载 env 我曾经遇到过同样的问题,并且错误未正确加载 env。执行print(DB_PASSWORD) 并检查 那么,如果我切换 Postgres 版本,它看起来可以工作吗?它并没有真正解释为什么迁移起作用而只读端不起作用,但它现在似乎正在起作用 【参考方案1】:

好的,很遗憾,我不一定知道为什么会这样,但如果我将 RDS Postgres 实例从 11.1 版切换到 10.x 版,它似乎可以解决问题。希望这可以节省其他人一些时间!抱歉,我无法指出为什么会修复它

【讨论】:

我猜可能是另一个原因,但很好,它解决了你的问题

以上是关于Elastic Beanstalk Django 数据库配置的主要内容,如果未能解决你的问题,请参考以下文章

Django 频道 + Elastic Beanstalk

授权凭证剥离 --- django, elastic beanstalk, oauth

Elastic Beanstalk 上的 Django + MySQL - 查询 MySQL 时出错

AWS Elastic Beanstalk 上禁止使用 Django 403

Elastic Beanstalk 上 Django/Celery 的权限问题

Elastic Beanstalk 上用于 Django 的 PostgreSQL