제목을 오름차순 할 때 정렬이 제대로 되지 않는 경우가 있다.
두 글자의 제목이 먼저 정렬된 후 세 글자 제목이 정렬되는 문제가 있어 아래와 같이 해결하였다.
현재 DB의 문자열 정렬 규칙(로케일) 설정 보기
SHOW LC_COLLATE;
* DB 생성 이후에는 정렬 기준 변경 불가하여 아래와 같은 방법으로 해결하였다.
1. 쿼리에서 임시 지정
SELECT * FROM user ORDER BY name COLLATE "ko_KR.utf8";
2. 컬럼에서 지정
ALTER TABLE user ALTER COLUMN name TYPE VARCHAR(255) COLLATE "ko_KR.utf8";
데이터베이스를 처음 생성 시 collation을 ko_KR.UTF-8로 설정하려면 아래와 같이 설정해 주면 된다.
CREATE DATABASE test WITH ENCODING = 'UTF8' LC_COLLATE = 'ko_KR.UTF-8' LC_CTYPE = 'ko_KR.UTF-8' TEMPLATE = template0;
'프로그래밍&IT > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] 운영 중인 테이블에 인덱스 생성 (0) | 2025.07.01 |
---|