Настройка СУБД Postgres для Django с помощью Fly.io

Я новичок, пытаюсь создать свой первый веб-апп с помощью комбинации Fly.io, Django и БД postgres, но у меня возникли проблемы, и я не могу найти ответ в руководствах или Q&A.

Я создал простое Django-приложение "Hello world" (models.py пока пуст) и пытаюсь запустить все компоненты, прежде чем создавать его дальше.

  • Я успешно развернул свое приложение на Fly.io без ошибок
  • Я создал кластер postgres на Fly.io, используя инструкции здесь: https://fly.io/docs/postgres/
  • .
  • Я присоединил кластер к моему приложению, которое создает БД и устанавливает переменную окружения с соответствующими деталями (имя пользователя, пароль, порт, хост, имя dbname)
  • Я обновил свой файл settings.py:
    DATABASES = {}
    DATABASES["default"] = dj_database_url.config(conn_max_age=600, ssl_require=True)
    
  • Я добавил в свой fly.toml:
    [[services]]
      internal_port = 5432 # Postgres instance
      protocol = "tcp"
    
    # Open port 10000 for plaintext connections.
    [[services.ports]]
      handlers = []
      port = 10000
    
  • Я подтвердил, что могу войти в оболочку psql с помощью flyctl postgres connect -a MYAPP-pg

Но, к сожалению, когда я запускаю python manage.py migrate, чтобы проверить, что все работает, я получаю следующую ошибку:

File "<my_path>\venv\lib\site-packages\django\db\backends\base\base.py", line 282, in ensure_connection
 self.connect()
File "<my_path>\venv\lib\site-packages\django\utils\asyncio.py", line 26, in inner
 return func(*args, **kwargs)
File "<my_path>\venv\lib\site-packages\django\db\backends\base\base.py", line 263, in connect
 self.connection = self.get_new_connection(conn_params)
File "<my_path>\venv\lib\site-packages\django\utils\asyncio.py", line 26, in inner
 return func(*args, **kwargs)
File "<my_path>\venv\lib\site-packages\django\db\backends\postgresql\base.py", line 215, in get_new_connection
 connection = Database.connect(**conn_params)
File "<my_path>\venv\lib\site-packages\psycopg2\__init__.py", line 122, in connect
 conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: could not translate host name "top2.nearest.of.MYAPP-pg.internal" to address: Unknown host

Есть идеи, что может происходить? Любая помощь будет очень признательна!

Вернуться на верх