django 에서 PostgreSQL 사용하기

Myungseo Kang bio photo By Myungseo Kang

django 에서 PostgreSQL 사용하기

1. PostgreSQL 설정

Django와 PostgreSQL을 연동하기 위해서는 psycopg2 라는 패키지가 필요합니다.

그럼 설치하기 전에

$ sudo apt-get update

는 꼭 하고 갑시다.

그 다음 psycopg2를 설치해줍니다.

$ pip install psycopg2

를 해주고 PostgreSQL에서 Django 프로젝트를 위한 user와 DB를 생성해줘야 합니다.

먼저 Django 프로젝트를 위한 DB를 하나 만들어줍니다.

$ sudo -u postgres createdb 데이터베이스_이름

그리고 위에서 만들어준 DB로 접속해줍니다.

$ sudo -u postgres psql 데이터베이스_이름

접속을 했습니다.

이제 Django 프로젝트를 위한 유저를 생성해보겠습니다.

데이터베이스_이름=# create user 유저_이름 with password ‘패스워드’; 요런식으로 생성이 가능합니다. 그리고 간단한 encoding 설정과 timezone 설정을 해보겠습니다.

데이터베이스_이름=# alter role 유저_이름 set client_encoding to 'utf-8';
ALTER ROLE
데이터베이스_이름=# alter role 유저_이름 set timezone to 'Asia/Seoul';
ALTER ROLE

이런식으로 timezone과 encoding 설정을 해주었습니다.

그리고 만든 유저에게 grant 구문으로 데이터베이스에 대한 권한을 부여해줄 차례입니다.

데이터베이스_이름=# grant all privileges on database 데이터베이스_이름 to 유저_이름;

와 같이 설정해줄 수 있습니다.

이제 데이터베이스쪽 설정은 끝났습니다.

2. Django 설정

Django 프로젝트를 열고 프로젝트_이름/settings.py 로 가줍니다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': '데이터베이스_이름',
        'USER': '유저_이름',
        'PASSWORD': '패스워드',
        'HOST': 'localhost',
        'PORT': '',
    }
}

DATABASE 부분을 위와 같이 설정해주고 makemigration을 진행한 뒤 migrate 를 진행해주게 되면 잘 실행됩니다!

이상 읽어주셔서 감사합니다 :)