Не удается подключиться к базе данных PostgreSQL в Linux Fedora через терминал VS Code

Итак, я использую Linux Fedora. Я нахожусь в текущем каталоге проекта Django. При двойной загрузке я сохранил приложение postgresql и сохранил резервную копию базы данных с помощью pg_dump на съемном диске перед загрузкой в Linux.

Я нахожусь в VS Code, я установил все необходимые пакеты/зависимости для моего проекта Django. Но прежде чем я смогу запустить сервер Django, мне нужно перенести мои модели в мою базу данных.

Проблема в том, что я не могу подключиться к своей базе данных postgresql, а мне нужно сделать это до того, как я запущу python manage.py migrate Запуск python manage.py makemigrations CMD работает нормально.

Так что я новичок в Linux, и мне просто нужна помощь в подключении к моей db, чтобы я мог запустить свой сервер. Пожалуйста, имейте в виду, что я использую Fedora. Я смог установить postgresql для Fedora с помощью следующей команды

sudo dnf install postgresql-server postgresql-contribsudo dnf install postgresql-server postgresql-contrib

Вот ошибка, которую я получаю в консоли


Is the server running on that host and accepting TCP/IP connections?

connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused

Is the server running on that host and accepting TCP/IP connections?`

Для ясности, у меня уже есть существующая база данных, поэтому создание новой совершенно излишне. Я также знаю свое имя пользователя, имя базы данных, пароль и т.д.. В основном мне просто нужна помощь в подключении к моей базе данных PostgreSQL, я пытался установить соединение с базой данных через графический интерфейс pgAdmin, однако я не могу установить pgAdmin на веб-сайт, поскольку я использую Fedora.

Я пытался следовать документам Fedora по PostgreSQL, но мне показалось, что они запутаны. Во-первых, у меня уже есть созданная база данных, а в учебнике по документации используется CMD, который предполагает, что я хочу создать новую базу данных без данных в ней.

Я также попробовал установить PostreSQL на официальном сайте, однако версия для Fedora там не указана.

Я попробовал подключиться к своей базе данных с помощью pgAdmin, но это оказалось не так гладко, поскольку я работаю на Linux Fedora 41 Workstation, раньше я использовал Windows, что упрощало настройку pgAdmin.

Не уверен, поможет это или нет, но я сохранил свою программу PostgreSQL на USB-накопителе вместе с другими программными приложениями перед двойной загрузкой в Linux. По иронии судьбы, PostgreSQL, сохраненная на диске C, каким-то образом была перенесена на локальный диск, как и моя резервная база данных.

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

Вот те подходы, которые я пробовал.

В программах установки PostgreSQL по умолчанию часто используется «безопасная» установка, при которой не разрешен доступ к внешней сети. Если вы можете подключиться к базе данных с помощью локального клиента psql, попробуйте подключиться, используя те же учетные данные, что и в вашей программе. Если это не удастся, вы определили проблему: PostgreSQL не прослушивает внешние сети. Вы можете исправить это несколькими способами:

  • Измените свой код, чтобы использовать локальное (localhost или unix-domain socket) соединение, а не сетевое, как сейчас.
  • Измените конфигурацию PostgreSQL для прослушивания сетевых интерфейсов. Обычно это не требуется для dev-экземпляров.
  • Используйте сервер разработки в сети; это потребует от вас сетевого доступа к серверу разработки для выполнения любой фактической работы.

Я перечислил их в порядке от самого простого к самому сложному, но ваш опыт может отличаться.

Кажется, я понял, почему мне не удается успешно запустить python manage.py migrate. Я провел небольшое исследование с помощью Google.

Оказывается, моя проблема кроется в файле pg_hba.conf. Думаю, мне нужно заменить Ident на md5, осталось понять, куда именно добавить md5

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