Подключение Django к Postgres: django.db.utils.OperationalError: FATAL: база данных "DATABASENAME" не существует - PullRequest
0 голосов
/ 13 сентября 2018

Я только начал изучать Django после того, как взял несколько учебных пособий по Python.

Я пытаюсь подключить свою базу данных POSTGRES к только что созданному проекту Django.

Однако явозникла эта проблема:

django.db.utils.OperationalError: FATAL:  database "producthuntdb" does not exist

Я выполнил следующие действия:

1) Открыл postgress, нажав на его иконку

2) Кликнул по базе данных "postgress".Терминал открылся и я написал: CREATE DATABASE producthuntdb;База данных была создана, потому что я вижу ее, если я открываю postgress с помощью ее значка.

3) Зашел в мой проект Django в «настройках» и изменил базу данных SQLITE на следующее:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'producthuntdb',
        'USER': 'mymac2017',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

4) Запустите код python3 manage.py migrate

Однако я получаю сообщение об ошибке:

django.db.utils.OperationalError: FATAL: database "producthuntdb" does not exist

Итак, я сделал следующее:

  • Нажав на иконку postgress и открыв базу данных producthuntdb

  • Когда терминал открыт, я написал: \du

  • Есть два пользователя с атрибутами:

    1) mymac2017 |Суперпользователь, Создать роль, Создать БД |{}

    2) postgres |Суперпользователь, Создать роль, Создать БД, Репликация, Обход RLS |{}

Что я делаю не так?

Я пытался найти другие ответы на эту проблему, и большинство проблем связано с неправильным написанием имени базы данных ИЛИ не созданием его,Тем не менее, имя моей базы данных является правильным, и я могу увидеть базу данных producthuntdb, если я открою postgres.

Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 13 сентября 2018

Я тупой. К сожалению.

Я установил неправильный порт базы данных в Django «settings.py».

Я использовал 'PORT': '5432' вместо 'PORT': '5433'

РЕШЕНИЕ:

  • Перейдите в приложение / иконку / программу Postgres
  • Нажмите «Настройка сервера» и посмотрите, какой ПОРТ использует база данных POSTGRES
  • Убедитесь, что PORT, который использует база данных, совпадает с тем, который вы пишете в "settings.py" вашего проекта Django.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...