Django postgresql 사용하기
2019-07-13
postgresql 설치
(base)ubuntu@--.--.--.--/ \$ sudo apt-get install postgresql
설치 확인
(base)ubuntu@--.--.--.--/ \$ dpkg -l | grep postgres
설치가 잘 되었다면 database를 만들어보자. postgres 설정을 위한 user 변경
(base)ubuntu@--.--.--.--/ \$ sudo su postgres
database 접속
(base)postgres@--.--.--.--/ \$ psql
접속이 다 되었다면 생성하자.
생성
postgres=\# create database \<DB이름\>;
CREATE DATABASE
만든 DB를 위한 유저 설정
postgres=# create user <유저이름> with password ‘password’;
postgres=# alter role <유저이름> set client\_encoding to ‘utf-8’;
postgres=# alter role root set timezone to ‘Asia/Seoul’;
postgres=# grant all privileges on database <DB이름> to <유저이름>;
이렇게 하면 설정이 마무리 된다. django 설정 설정 전에 필요한 것이 있다. 가상환경에 진입해서, psycopg2라는 것을 설치해주자 psycopg2 는 python과 postgresql을 연동하기 위한 python 라이브러리라고 한다.
(base)ubuntu@--.--.--.--/ \$ pip install psycopg
django의 우리 project 폴더로 들어가 settings.py의 DATABASE 내용을 아래와 같이 바꿔준다.
DATABASE ={
‘default:{
‘ENGINE’:’django.db.backends.postgresql’,
‘NAME’:’DATABASE 이름’,
‘USER’:’유저이름’,
‘PASSWORD’:’유저 비밀번호’,
‘HOST’:’localhost’,
‘PORT’:’포트(default 포트는 5432라고 한다)’
}
}
이렇게 하면 설정이 완료된다. 내 설정은 전에 만들었던 secret.json파일에 넣어놓았다.
내 계정과 비밀번호가 다 나와있으니 감춰주는게 정상일 듯 싶다. 새로 세팅을 했으니 마이그레이션해주자. DB migrations, migrate
(run)ubuntu@--.--.--.--/srv/glocal \$ python manage.py makemigrations
(run)ubuntu@--.--.--.--/srv/glocal \$ python manage.py migrate