Render PostgreSQL не может перевести имя хоста в адрес в Django
В Render я хотел бы использовать их бесплатный план PostgreSQL для размещения моей базы данных. Я использую Django и запутался, что использовать в качестве хоста. Приборная панель на Render предоставляет мне внешний url базы данных postgres://{given_username_by_render}:******-a.oregon-postgres.render.com/{database_name}
если я использую эту ссылку в качестве HOST в настройках баз данных как
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'name',
'USER': 'username',
'HOST' : 'postgres://{given_username_by_render}:******-a.oregon-postgres.render.com/{database_name}',
'PASSWORD': env('PSGS'),
}
}
Я получаю эту ошибку при выполнении миграций. Я использовал elephantsql раньше, и они дали мне простой url хоста, например tiny.db.elephantsql.com, который подключается к имени HOST, и он работал, но не в этом случае использования Render
RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': could not translate host name
"postgres://USER:PASSWORD@EXTERNAL_HOST:PORT/DATABASE"
to address: Unknown server error
Мой главный вопрос: Что я использую в качестве имени HOST в настройках базы данных в django? Или я делаю это неправильно? Если у вас нет опыта работы с Render, не могли бы вы порекомендовать мне места, где я могу узнать о подобных вещах?
Хозяин - это только ******-a.oregon-postgres.render.com
, все, что идет после @
и до /{database_name}
.
Обычно URL имеет такую структуру:
postgres://{user}:{password}@{host}:{port}/{database}
Если вы предпочитаете, вы можете использовать URL напрямую через dj-database-url
. Если Render заполнит для вас переменную окружения DATABASE_URL
, эта библиотека будет работать прямо из коробки, не требуя практически никакой настройки.