본문 바로가기

Python/Django

[Django] Postgresql 연동하기

728x90

django는 default로 sqlite를 사용하여 데이터베이스를 생성합니다. 하지만 실제 서비스 런칭을 할 때에는 mysql 또는 postgresql을 많이 사용하기 때문에 django에서 postgresql을 설정하는 법을 알아보겠습니다.

 

우선, settings.py 코드 입니다.

 

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': BASE_DIR / 'db.sqlite3',
        }

 

별다른 설정을 하지 않았다면 DATABASES는 위와 같이 설정되어있을 것입니다. 따라서 기존의 설정을 아래의 코드와 같이 바꿔줍니다.

 

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': '<postgresql 생성 시 설정한 이름>',
        'USER': '<postgresql 설치 시 설정한 이름>',
        'PASSWORD': '<postgresql 설치 시 설정한 비밀번호>',
        'HOST': 'localhost',
        'PORT': '',
    }
}

 

ENGINE과 HOST, PORT는 크게 변화될 부분은 없지만 NAME, USER, PASSWORD는 postgresql 설치 시 또는 postgresql server 생성 시에 설정한 정보들을 입력해야 오류 없이 해결할 수 있습니다.

 

pip install psycopg2

 

postgresql을 연동하기 위해서는 데이터베이스와 django를 연결할 adapter가 필요하기 때문에 psycopg2 패키지를 설치해줍니다.

 

패키지가 설치 완료되었다면 migrate와 makemigrations 명령어를 사용하여 데이터 테이블을 생성해주면 postgresql이 연동된 것을 확인할 수 있습니다.

728x90