backend/django

django를 위한 postgresql 설치하기

seul chan 2017. 3. 1. 12:30

정식 사이트: (https://www.postgresql.org/)


"PostgreSQL은 객체-관계형 데이터베이스 관리 시스템(ORDBMS)의 일종이다..."

"PostgreSQL이라는 이름의 어감이 생소해서 발음할 때 멈칫거리게 만들지만 발음은 생각보다 쉽다. /포ː스트그레스큐ː엘/ 조금 더 짧게 "포스트그레스큐엘"이라고 발음 하면 된다. . 이전에는 일반적으로 "Postgres"라고만 불렸지만 표준 SQL을 지원하기 시작하면서 공동체에서 "Postgres"라는 이름 뒤에 SQL을 뒤에 덧붙인 것이다..."

출처: 위키피디아 (https://ko.wikipedia.org/wiki/PostgreSQL)



나같은 초보자는 장고에 있는 기본 데이터베이스를 사용해도 충분하겠지만, 장고 스터디에서는 postgresql를 설치하여 기본 세팅을 하기로 하여 postgresql 9.6 버전을 설치하고 장고와 연동하였다. (이 세팅만 하루가 걸렸다. )



1. postsql 설치

-설치는 repository를 추가하여 설치하였다. 


$sudo add-apt-repository "deb https://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main"

$sudo apt-get update

$sudo apt-get install postgresql-9.6  # 뒤에 버전을 붙이지 않으면 자동으로 설치된다


2. super user 설정 및 암호 설정, 실행하기

$sudo passwd postgres

(이후 암호를 입력한다.)


*실행하기

$sudo service postgresql start

$su postgres

#이후 뜨는 암호 창에서 암호를 입력한다. (본인이 입력한 암호)


#데이터베이스 생성 및 수정 (database_name에 자신이 만들고자 하는 database를 작성)

$createdb database_name

$psql -d database_nam



3. 사용법

$su postgres (설정한 암호 입력)

$psql 을 입력하면 사용할 수 있다.


(종료시에는 \!를 이용, ctrl + d)


**다양한 postgresql의 커맨드들

(http://database.sarang.net/database/postgres/tutorial/lecture/x58.htm)

1) 데이터베이스 목록 확인하기

\l (역슬래쉬 + 소문자 L)


2) 사용하는 데이터베이스 변경

\c 


3) 데이터베이스 생성하기 

create database DB_name;


4) 스키마 목록 확인, 생성하기

\dn을 입력하여 스키마 목록을 확인 가능, 기본적으로 public 하나의 스키마 목록이 존재한다. 

create SCHEMA name (스키마 네임)을 입력하여 새로운 스키마 생성한다. owner는 사용자를 뜻하는데, create SCHEMA name authorizatoin name(사용자 명)으로 설정 가능하다. 


5) 테이블 목록 확인, 생성하기

테이블 생성 명령어는 MySQL과 동일,

CREATE TABLE table_name

*다른 점은 테이블을 생성할 때 속하게 될 스키마를 지정할 수 있다는 것이다. 지정하지 않으면 public 스키마에 테이블이 생성된다. 

CREATE TABLE djangotable.django (id varchar(20) primary key, pw varchar(20));

\dt로 생성된 테이블을 확인 할 수 있다. (public에 속한 테이블만)

\dt django 를 해야 django에 있는 스키마가 나온다. 


6) 테이블에 내용 넣기

-기존의 SQL문과 동일하다.