지난 번 릴리즈 소식 전하면서,
9.0 버전부터 데이터베이스 단위를 벗어나, 테이블의 칼럼 단위까지 collate 값을 지정할 수 있게 되었습니다.
이 소식을 전하면서, 과연 이게 단일 한국어 환경에서 얼마나 쓸모 있을지 모르겠습니다
라고 했는데,
이게 인덱스를 만들 때, 아주 유용하게 쓰이네요.
예전 같았으면, collate 값을 C로 지정하지 않아서,
한글 자료에서 like 검색에서 인덱스를 쓸 수 없었던 경우,
데이터베이스 덤프하고, 데이터베이스 다시 만들고, 이런 작업을 했는데,
이제는 다른 것 하나도 바꾸지 않고, 그냥 인덱스를 만들 때,
그냥 '이 칼럼의 자료 정렬은 C 로케일을 따른다' 라고만 정의하면 원하는 결과를 얻을 수 있네요.
다음은 테스트한 쿼리입니다.
CREATE INDEX zipcode_dong_i
ON zipcode
USING btree
(dong COLLATE pg_catalog."C" );
|