Установка PostgreSQL
Перейдем на официальный сайт, выберем платформу Windows
Кстати, есть официальная инструкция по подключения Postgres в Django.
Далее как на скришноте, переходя по ссылке Download the installer:

И выбираем то, что подчеркнуто, а именно для Windows x86-64:

После скачивания, начинаем установку. Все оставляем по умолчанию.

Пароль при требовании придумайте любой, я пока что сделал простой: root
Пока наша СУБД устанавливается, давайте установим в наш Django проект модуль psycopg2
В терминале с помощью команды: pip install psycopg2
Результат установки:
(venv) PS C:\Users\Razilator\Desktop\Courses\App\backend> pip install psycopg2
Collecting psycopg2
Using cached psycopg2-2.9.3-cp310-cp310-win_amd64.whl (1.2 MB)
Installing collected packages: psycopg2
Successfully installed psycopg2-2.9.3
Отлично. После установки финишируем, галочку убираем. В поиске пуска вводим pgAdmin и заходим:

Вводим пароль который мы придумали при установке, в моем случае это root (если вдруг не пускает, можете Reset Master Password):

После успешного входа:

А теперь можете создать базу данных для нашего сайта (нажать левой кнопкой мыши на Базы Данных и создать базу данных):

База создалась:

Теперь нам необходимо настроить Django для работы с созданной базой данных, для этого в настройках settings.py найдите
backend/settings.py
# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
И замените:
# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': '<dbname>',
'USER': 'postgres',
'PASSWORD': '<password>',
'HOST': 'localhost',
'PORT': 5432,
}
}
Отлично. Давайте проведем миграции:
(venv) PS C:\Users\Razilator\Desktop\Courses\App\backend> python manage.py makemigrations
No changes detected
(venv) PS C:\Users\Razilator\Desktop\Courses\App\backend> python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, blog, contenttypes, sessions, sites, system, taggit
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying taggit.0001_initial... OK
Applying taggit.0002_auto_20150616_2121... OK
Applying taggit.0003_taggeditem_add_unique_index... OK
Applying taggit.0004_alter_taggeditem_content_type_alter_taggeditem_tag... OK
Applying taggit.0005_auto_20220424_2025... OK
Applying blog.0001_initial... OK
Applying blog.0002_category_article_category... OK
Applying blog.0003_article_meta_description_article_meta_keywords_and_more... OK
Applying blog.0004_comment... OK
Applying blog.0005_article_tags... OK
Applying blog.0006_alter_article_full_description_and_more... OK
Applying sessions.0001_initial... OK
Applying sites.0001_initial... OK
Applying sites.0002_alter_domain_unique... OK
Applying system.0001_initial... OK
Applying system.0002_feedback... OK
Создадим суперпользователя py manage.py createsuperuser
Добавлю пару статей на сайт...

А теперь взглядем в нашу админку базы данных:

Как видите, все таблицы находятся теперь в Postgres. На этом урок окончен.