Programming/Django

[Django] postgreSQL 연동

owls 2021. 12. 27. 22:01
728x90

Django에서 postgreSQL을 연동하는 방법을 포스팅하겠습니다.

 

  • SQL shell (psql)

1. DB 생성

CREATE DATABASE [DB Name];

2. user, password 설정

CREATE USER [user_id] WITH PASSWORD ['password'];

password 입력시에 '' (작음 따옴표)를 붙여줘야 합니다.

user 생성이 성공하면 "CREATE ROLE"이라는 문구가 나옵니다.

 

3. 인코딩, isolation, timezone 설정

ALTER ROLE [user_id] SET client_encoding TO 'utf8';
ALTER ROLE [user_id] SET default_transaction_isolation TO 'read committed';
ALTER ROLE [user_id] SET TIME ZONE 'Asia/Seoul';

각 설정이 성공하면 "ALTER ROLE"이라는 문구가 나옵니다.

 

4. user에게 DB 접근 권한 설정

GRANT ALL PRIVILEGES ON DATABASE [DB name] To [user id];

whseo(user id)가 teams (DB name)에 접근할 수 있도록 설정하였습니다.

설정이 성공하면 "GRANT" 문구가 나옵니다.

 

5. shell 종료

\q를 입력해서 종료합니다.

 

 

Django 

6. settings.py 편집

            Django의  기본 DB로 설정 되어있습니다.

       아래의 코드로 DB name, User id, PW를 설정해주세요.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'DB_Name',
        'USER': 'user_id',
        'PASSWORD' : 'password',
        'HOST' : 'localhost',
        'PORT' : '',
    }
}

 

7.  psycopg2 설치

cmd에서 프로젝트 경로로 이동 후 

pip3 install psycopg2

를 입력해주세요.

 8. DB 저장

py manage.py migrate

pgAdmin에서 table 들이 생성된것을 확인할 수 있습니다.

728x90