수학과의 좌충우돌 프로그래밍

[Django] 16. postgreSQL 사용하기! 본문

웹프로그래밍/Django

[Django] 16. postgreSQL 사용하기!

ssung.k 2019. 3. 5. 15:05

안녕하세요 강민성입니다.


이번 시간에는 postgreSQL 사용에 대해서 알아보도록 하겠습니다.


우리는 여태까지 데이터 베이스를 따로 연동하지 않고도 잘 사용해왔습니다.


그 이유는, 장고는 기본적으로 sqlite 를 사용하기 때문입니다.


sqlite는 여태 우리가 진행했던 소규모의 프로젝트, 토이 프로젝트 등에는


아무 문제 없지만 규모가 커지게 되면, 역부족 입니다.



이러한 이유로 사용가능한 여러 데이터 베이스가 존재합니다.


그 중에서도 postgreSQL 을 선택한 이유는 아래 이유가 같습니다.


1. 무료로 이용가능하다.


2. 설치 연동이 쉬운 편에 속한다.


3. 직관적 UI 를 가지고 있다.




postgreSQL 사용하기!



지금껏 splite를 어떻게 사용해왔는지


postgreSQL은 어떻게 연동할건지를 알아보도록 하겠습니다.


model과 admin에 대한 포스팅에서 데이터베이스에 대해 조금 언급했었습니다.


model과 admin의 내용이 궁금하다면 여기를 클릭하세요.


장고 프로젝트와 데이터베이스는 별개다.


말그대로 장고와 데이터 베이스는 별개로 존재를 하고, 장고가 그 데이터 베이스를 사용하는 개념입니다.


따로 설정을 하지 않는다면 sqlite 에  데이터를 저장하고 꺼내가는 것이죠.


다른 데이터 베이스를 사용하기 위해서는 settings.py 에서 이를 바꿔줘야 합니다.


이렇게 바꾸기만 한다면 평상시에 하던대로 migrate 를 통해 연결 해줄 수 있습니다.


따라서 다른 데이터 베이스를 사용하기 위해선 다음 과정을 통해야 합니다.



1. 다른 데이터 베이스 설치


2. settings.py에서 가리키기


3., migrate로 연결




저번 시간에 했던 blog project로 실습을 진행하도록 하겠습니다.


먼저 postgreSQL을 설치해보겠습니다.


설치링크


위 링크로 들어가셔서 본인에 맞는 운영체제를 선택해주시고


download the installer 를 클릭합니다.

그 후 다시 본인 운영체제에 맞게 다운로드를 하면 됩니다.


어려움 없이 다운로드를 진행할 수 있으실텐데


다운로드 중 입력하는 password와 port 번호는 기억해주셔야 합니다.


(설치가 완료된 후 추가적으로 설치를 요하는 stack builder는 설치를 안하셔도 상관 없습니다. )



설치가 전부 완료가 되었으면 다음과 같은 pgAdmin4를 실행시켜 줍니다.




다음과 같은 서버가 열리는걸 확인할 수 있습니다.


좌측의 server에서 SQL 을 하나 선택하고 


설치 시 입력했던 password를 입력하면 현재 데이터베이스의 현황을 확인 할 수 있습니다.

기존의 blog 처럼 글이 담길 수 있도록 새로운 데이터베이스를 만들어보도록 하겠습니다.


databases 에 오른 마우스를 클릭하면 


새로운 데이터베이스를 생성할 수 있는 창이 뜨므로 클릭해주겠습니다.



데이터베이스의 기본정보를 입력하는 창을 볼 수 있습니다.


이름, 사용자(admin), 설명 등을 입력할 수 있습니다.


blog 라는 이름을 가지고 사용자는 그대로 유지한 체 save 를 해주겠습니다.



새로 만들어진 blog 라는 db 를 장고와 연동시켜주도록 하겠습니다.


장고의 settings 로 넘어와서


다음 양식에 맞게 본인의 정보를 입력해줍니다.


비밀번호는 말그대로 비밀번호니 지웠습니다..



그 후, migrate 를 하고 서버를 켜주면


기존의 데이터가 모두 없어져 글이 남아있지 않습니다.

뿐만 아니라 admin 페이지도 접속이 되지 않을 겁니다.


admin 계정에 대한 정보 역시 splite 안에 담겨 있기 때문이죠.


따라서 새로운 admin 계정을 새로 만들어줘야 합니다.


새로운 계정으로 접속한 결과, db 에 아무 정보도 없습니다.


여기서 데이터를 추가하면 다시 blog 글들이 생성되는 걸 확인할 수 있습니다.




Comments