Подключение Postgresql к Django

Я пытаюсь подключить 2 базы данных к проекту django, чтобы использовать одну для разработки, а другую для производства.

Мой файл настроек

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES["default"].update(db_from_env)

export DATABASE_URL=path_to_database

Когда я пытаюсь запустить сервер, я получаю эту ошибку: «django.db.utils.NotSupportedError: требуется PostgreSQL 12 или более поздняя версия (найдено 11.18)».

Но когда я пишу psql в терминале, я получаю: psql (14.7 (доморощенный), сервер 15.2) И PostgrSQL@11 не установлен на моем Mac

1) Вы подключаете приложение Django к базе данных, а не наоборот. 2) Ваш код конфигурации показывает настройку для SQLite, а не для Postgres. 3) Какая версия Джанго?

Adrian Klaver 20.04.2023 01:15

Я использую ElephantSQL в качестве службы для удаления базы данных, здесь я подключаю приложение Django к базе данных postgresql: "db_from_env = dj_database_url.config(conn_max_age=500) DATABASES["default"].update(db_from_env) export DATABASE_URL=path_to_database", я использую django 4.2

Стас Нікулиця 20.04.2023 03:32

Вы просто повторили то, что было в вопросе, не объяснив, каковы фактические настройки. Также почти уверен, что export DATABASE_URL=path_to_database нет в вашем файле настроек.

Adrian Klaver 20.04.2023 17:28
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
3
229
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Даже если клиент psql подключен к более новой версии сервера PostgreSQL, на вашем компьютере могут работать дополнительные серверы PostgreSQL.

Вы можете найти их, запустив ps auxwww | grep postgres.

Каждый работающий сервер прослушивает отдельный номер порта. Поскольку клиент psql подключается к [email protected], этот сервер, вероятно, работает на порту 5432 (это порт по умолчанию, к которому подключается psql).

Проверьте конфигурацию окружения Django на наличие номера порта — возможно, Django пытается подключиться к серверу PostgreSQL, который прослушивает другой порт.

Другие вопросы по теме