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
PostgreSQL: Documentation: 11: 23.2. Collation Support
The collation feature allows specifying the sort order and character classification behavior of data per-column, or even per-operation. This alleviates the restriction that the LC_COLLATE and LC_CTYPE settings of a database cannot be changed after its crea
www.postgresql.org
http://linux.systemv.pe.kr/postgresql-%EA%B3%BC-%EB%AC%B8%EC%9E%90%EC%85%8B/#LC_COLLATE
PostgreSQL 과 문자셋 - Voyager of Linux
PostgreSQL 도 문자셋에 관해서 많은 옵션들을 제공한다. 그런데, 대부분은 이에 대해서 잘 모르는 듯해서 여기서 정리해 본다. PostgreSQL 에서 문자셋 지정을 처음 하는 부분은 바로 설치를 마친후에 initdb 명령어를 사용하면서 부터다 대충 다음과 같이 사용한다
linux.systemv.pe.kr
'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 |
댓글