PostgreSQL - 데이터베이스 생성하기 (한글 정렬)

KimSunWook·2022년 11월 21일
0

1. 데이터베이스 접속하기

링크 추가

2. 데이터베이스 생성문 구경하기

PostgreSQL 데이터베이스를 생성하는 방법은 여러가지가 있습니다.

  • PG ADMIN

CREATE DATABASE 문 소개

CREATE DATABASE name
    [ WITH ] [ OWNER [=] user_name ]
           [ TEMPLATE [=] template ]
           [ ENCODING [=] encoding ]
           [ STRATEGY [=] strategy ] ]
           [ LOCALE [=] locale ]
           [ LC_COLLATE [=] lc_collate ]
           [ LC_CTYPE [=] lc_ctype ]
  • name
    생성할 데이터베이스의 이름이에요
  • user_name
    새 데이터베이스를 소유할 사용자의 역할 이름이에요
  • template
    템플릿 데이터베이스로 데이터베이스를 만드는 기초 정보들이 들어 있어요
    이 템플릿 데이터베이스는 기본적으로 template1, template0 가 있습니다.
    template1은 기본적으로 사용되는 템플릿 데이터베이스에요. 추가된 속성은 다음 생성되는 데이터베이스에 기본값이 돼요.
    template0: 아무런 수정도 가해지지 않은 순수 데이터베이스에요. 절대로 변경을 가해서는 안되고, pg_dump로 복원할 때 사용해요.
  • encoding: 새 데이터베이스에서 사용할 문자 집합 인코딩이에요
  • strategy: 새 데이터베이스를 만드는 데 사용할 전략이에요
  • locale: LC_COLLATE과 LC_CTYPE를 동시 설정가능해요
  • lc_collate: 문자열 정렬 순서에요
  • lc_ctype: 문자 분류에요

더 자세한 내용은 아래 공식문서에서 확인 할 수 있어요.
https://www.postgresql.org/docs/current/sql-createdatabase.html

3. 데이터베이스 생성하기 (feat. 한글정렬)

Collate라는 컬럼이 있는데, 바로 이 부분이 데이터베이스의 정렬하는 순서를 결정해요. 그냥 데이터베이스를 생성하면 기본적으로 ko_KR.UTF-8 또는 en_US.utf8으로 설정돼요.
LC_COLLATE라는 변수 값을 'C'로 설정해서 생성하면, 한글 정렬문제를 예방할 수 있어요.

CREATE DATABASE name
WITH
	LC_COLLATE = 'C';

참고
https://jupiny.com/2016/12/12/sort-korean-in-postgresql/
https://www.devkuma.com/docs/postgresql/create-database/

profile
IDIST & RUNNERS

0개의 댓글