Конфигурация базы данных Elastic Beanstalk Django

#django #postgresql #amazon-web-services #amazon-ec2 #amazon-elastic-beanstalk

#django #postgresql #amazon-веб-сервисы #amazon-ec2 #amazon-elastic-beanstalk

Вопрос:

Я столкнулся с ситуацией, когда мое приложение django не может подключиться к экземпляру postgres, которые оба были развернуты в одной и той же среде EBS.

  1. Я подтвердил, что группы безопасности, в которых находятся экземпляры RDS и EC2, настроены для взаимодействия.

  2. Я подтвердил, что учетные данные для базы данных верны, поскольку я могу использовать CLI для postgres для входа как локально, так и при подключении по ssh к экземпляру EC2.

  3. Третий и самый странный из симптомов заключается в том, что миграции работают. Итак, во время миграции приложение может подключаться к базе данных и запускать миграции, но при попытке получить доступ к этим таблицам через views.py файлы я получаю страшную password authentication failed ошибку.

Я полностью застрял и пробовал все, что мог придумать, в течение последних нескольких часов. Любая помощь, которую я могу получить, была бы огромной помощью. Спасибо!

Комментарии:

1. вы задаете значения по умолчанию, такие как DB_PASSWORD=os.environ.get(DB_PASS,"somedefault") и, возможно, env не загружается, я однажды столкнулся с такой же проблемой, и ошибка не загружала env должным образом. сделайте print(DB_PASSWORD) и проверьте

2. итак, похоже, что это сработает, если я переключу версии Postgres? На самом деле это не объясняет, почему миграции работают, а сторона только для чтения — нет, но, похоже, сейчас это работает

Ответ №1:

Хорошо, к сожалению, я не обязательно знаю, почему это так, но, похоже, проблема была устранена, если я переключил экземпляр RDS Postgres с версии 11.1 на версию 10.x. Надеюсь, это сэкономит кому-то еще немного времени! Извините, я не могу указать, почему это исправлено

Комментарии:

1. может быть еще одна причина, я думаю, но хорошо, что это решило вашу проблему