Django에 PostgreSQL 연결하기 1 - 설치

Han07·2021년 3월 17일
0
post-thumbnail

⚠️ 모든 설치 과정은 macOS 환경으로 설명합니다. ⚠️

지금까지 MySQL을 쓰다가 다른 DBMS를 사용해보기로 했다. 다른 DBMS도 많지만 내가 PostgreSQL을 쓴 이유는 아래 포스트에서 상세히 설명해주고 있다. 귀찮은 사람들을 위해 간단히 정리해보자면,

  1. macOS 서버의 기본이 PostgreSQL.
  2. SQL 및 JSON 쿼리 지원.
  3. Django는 PostgreSQL에서만 작동하는 여러 데이터 유형을 제공함.
  4. 지도를 사용하여 애플리케이션을 구축하거나 지리적 데이터를 저장하는 경우 PosgreSQL과 완벽하게 호환할 수 있음.

https://hyun-am-coding.tistory.com/entry/%EC%99%9C-Django%EC%97%90%EC%84%9C-PostgreSQL%EC%9D%84-DB%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%A0%EA%B9%8C

사용 이유는 이정도로 하고, 설치부터 시작해보겠다.

1. PostgreSQL 설치하기

mac에서 postgresql을 설치하는 방법은 크게 2가지가 있다.

  1. 공식 사이트에서 다운받는다.
  2. homebrew를 이용한다.

첫 번째는 오류가 많이 나고, 구글링을 해도 상대적으로 정보가 적기 때문에 2번을 선택하겠다.

  1. 터미널에서 postgresql을 설치한다.
brew install postgresql

하다가 다음과 같은 xcrun error가 발생할 수도 있다.

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

이런 경우에는 xcode-select --update 명령어를 이용해 xcode를 업데이트 해주면 된다.


postgresql 실행하기

터미널에 다음 명령어를 입력한다.

$ pg_ctl -D /usr/local/var/postgres start && brew services start postgresql

그 후 postgres -V 명령어를 이용해 잘 작동되는지 시험해본다.


비밀번호 설정하기

앱을 통해 설치했다면 비밀번호 설정 화면이 나오지만, brew를 통해 설치한 경우에는 아직 비밀번호 설정이 안되어있다.

psql postgres

먼저 postgresql에 재접속한다.

postgres=# \du

위 명령어를 통해 현재 사용자를 확인할 수 있다.

원래 사용자명의 user와 postgres라는 user가 기본으로 생성되는 것 같다. 하지만 최신버전(13) 에서는 postgres user가 생기지 않는 것 같다. 틀린 정보라면 고쳐주세요

postgres=# \password (user명)

요 명령어를 입력하면 비밀번호를 설정할 수 있다.


path 설정하기

path 설정을 안하면 나중에 psycopg2를 설치할 때 엄청난 에러를 볼 수 있다.

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"

2. PgAdmin 설치하기

postgresql 설치가 끝났다! 개인적으로 MySQL보다는 설치가 쉽다고 생각한다.
MySQL에서 MySQL Workbench가 있듯이, PostgreSQL에는 PgAdmin이라는 녀석이 있다. 요놈은 brew로 설치할 수 없고 홈페이지에서 다운받아야한다.
https://www.pgadmin.org/download/
위 사이트 주소에 접속해 운영체제를 선택한 후 가장 최신 버전을 다운받는다. - 밑에 있는 dmg 파일만 다운받으면 된다 -

열어보면 요 친구가 나온다.
MySQL과 달리 PostgreSQL은 직접 서버를 만들어줘야 한다. 나는 아래 사이트를 참고했다.
https://eunsukimme.github.io/database/2019/09/12/Postgresql-Pgadmin/

요약하자면
1. Name: LocalDev
2. Host name/address: localhost
3. Username: 사용자명

요렇게 생성하면 된다!

생성 후 서버를 클릭하면 기본 db로 postgres가 생성된 것을 알 수 있다. MySQL Workbench와 마찬가지로 Database를 우클릭 해 새로운 DB를 생성할 수 있다.

(movie_api라는 DB를 생성하였다.)

드디어 PostgreSQL을 사용할 준비가 되었다! 다음 포스트에서는 django와 postgresql을 연결해보도록 하겠다.

0개의 댓글