Django
[Django] PostgreSQL 연동하기
comgu
2025. 2. 4. 22:44
반응형
Django 프로젝트에서 PostgreSQL을 연동하는 방법을 알아본다. 윈도우 환경에서 진행한다.
목차
1. PostgreSQL 설치하기
먼저 PostgreSQL을 설치해야 한다:
- https://www.postgresql.org/download/windows/ 에서 installer 다운로드
- 설치 과정에서 입력한 비밀번호는 반드시 메모해둬야 한다.
- 기본 포트 번호는 5432를 사용한다.
2. 시스템 환경변수 확인
PostgreSQL 설치 후 PATH 설정이 필요하다. psql 명령어가 인식되지 않는다면, "시스템 환경변수 편집"에서 PATH에 psql의 위치(C:\Program Files\PostgreSQL\17\bin)를 추가한다. (17은 설치한 PostgreSQL 버전에 따라 다를 수 있다)
이제 새로운 명령 프롬프트를 열고 다음 명령어로 PostgreSQL이 제대로 설치되었는지 확인한다.
psql --version
3. Django 프로젝트 설정
3.1 필요한 패키지 설치
pip install psycopg2-binary
3.2 데이터베이스 생성
PostgreSQL 명령 프롬프트에서 다음 명령어를 실행해서 DB를 생성한다:
CREATE DATABASE myproject;
pgAdmin에서 DB를 생성할 수도 있다.
3.3 Django 설정 변경
Django 프로젝트의 settings.py 파일에서 데이터베이스 설정을 수정한다:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'myproject',
'USER': 'postgres',
'PASSWORD': '설치_시_입력한_비밀번호',
'HOST': 'localhost',
'PORT': '5432',
}
}
4. 보안 설정
프로젝트 보안을 위해 환경 변수를 사용하는 것을 추천한다:
pip install python-dotenv
프로젝트 루트에 .env 파일을 생성한다:
DB_NAME=myproject
DB_USER=postgres
DB_PASSWORD=your_password
DB_HOST=localhost
DB_PORT=5432
settings.py 파일을 다음과 같이 수정한다:
import os
from dotenv import load_dotenv
load_dotenv()
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': os.getenv('DB_NAME'),
'USER': os.getenv('DB_USER'),
'PASSWORD': os.getenv('DB_PASSWORD'),
'HOST': os.getenv('DB_HOST'),
'PORT': os.getenv('DB_PORT'),
}
}
5. 마이그레이션 실행
설정이 완료되었다면, 다음 명령어로 마이그레이션을 실행한다:
python manage.py makemigrations
python manage.py migrate
6. 연결 테스트
Django 쉘에서 데이터베이스 연결을 테스트해볼 수 있다:
from django.db import connection
try:
connection.ensure_connection()
print("데이터베이스 연결 성공!")
# 현재 데이터베이스 정보 확인
print(f"현재 사용 중인 데이터베이스: {connection.settings_dict['NAME']}")
print(f"데이터베이스 엔진: {connection.vendor}")
# 간단한 쿼리 실행
with connection.cursor() as cursor:
cursor.execute("SELECT version();")
version = cursor.fetchone()
print(f"PostgreSQL 버전: {version[0]}")
except Exception as e:
print(f"연결 실패: {str(e)}")
데이터베이스 연결 성공!
현재 사용 중인 데이터베이스: myproject
데이터베이스 엔진: postgresql
PostgreSQL 버전: PostgreSQL 17.2 on x86_64-windows, compiled by msvc-19.42.34435, 64-bit
7. 주의사항
- .env 파일은 반드시 .gitignore에 추가하기
- PostgreSQL 설치 시 설정한 비밀번호는 안전한 곳에 보관하기
- 새로운 명령 프롬프트를 열었을 때 psql 명령어가 인식되지 않는다면, PATH 설정을 다시 확인할 것
- 데이터베이스 접속이 안 될 경우 PostgreSQL 서비스가 실행 중인지 확인하기 (Windows 서비스에서 "PostgreSQL" 확인)
이렇게 하면 Django 프로젝트에서 PostgreSQL을 사용할 준비가 완료된다!
더 나아가 pgAdmin을 설치하면 GUI 환경에서 편리하게 데이터베이스를 관리할 수 있다. pgAdmin은 PostgreSQL 설치 시 함께 설치되었을 것이다.
반응형