LC_COLLATE
이는 매우 중요한 것으로 다음과 같은 것에 영향을 미친다.
- 대소문자를 구분하는 기능.
- 문자열 정렬
- ‘like’ 문에서 인덱스를 사용여부 결정
이는 데이터베이스를 생성할때에도 지정할 수가 있는데, 지정하는 방법은 locale 과 같이 language_territory.codeset 형식이지만 codeset 은 생략하는 경우가 있다. 다음과 같은 명령어로 확인 가능하다.
SHOW lc_collate;
위의 명령어를 검색하면 Data Output에서 "Korean_Korea.949" 로 나온다.
문제는 이 LC_COLLATE 는 initdb 시에 한번 결정이 되면 바꿀 수 없고 하지만, Template 을 1번이 아닌 0번으로 할 경우에는 가능하다. Template1 은 initdb 때 생성되는 일종의 Master DB라 보면되고 모든 데이터베이스는 이 Template1 을 기반으로 생성되어진다.
Sample
id 타입 COLLATE pg_catalog."default"
이는 열에 대해 기본 lc_collate를 사용하고 있음을 의미한다.
Reference
https://www.postgresql.org/docs/current/collation.html
http://linux.systemv.pe.kr/postgresql-%EA%B3%BC-%EB%AC%B8%EC%9E%90%EC%85%8B/#LC_COLLATE
728x90
반응형
'DataBase > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] SCHEMA CREATE, ALTER, DROP (0) | 2019.06.11 |
---|---|
[PostgreSQL] Import CSV File Into Table (0) | 2019.06.11 |
[PostgreSQL] character varying 와 varchar 차이점 (0) | 2019.06.11 |
[PostgreSQL] 집계함수 vs 분석함수 (GROUP BY, PARTITION BY) (0) | 2019.05.24 |
[PostgreSQL] PostgreSQL 11.1 문서 (0) | 2019.05.23 |
댓글