[AWS]RDS postgresql 한글정렬 문제

코드깎는 노인·2021년 7월 26일
1
post-thumbnail
post-custom-banner

rds에서 기본데이터베이스 생성시 collate option이 en_US로 되어 orderBy쿼리시 한글정렬이 원하는 대로 되지 않는다.따라서 다음의 과정이 필요하다.

1. RDS접속


psql --host=<rds endpoint> --port=5432 --username=myuser --password --dbname=mypgdb 
 

2. 데이터베이스 덤프

pg_dump -h <rds endpoint> -U <my username> -f <name of dump file .sql> <name of my database>

3. collate옵션을 변경한 데이터 베이스생성

CREATE DATABASE [newDatabase_NAME] TEMPLATE template0 LC_COLLATE 'C'; 
CREATE DATABASE [newDatabase_NAME] TEMPLATE template0 LC_COLLATE 'ko_KR.utf8'; 

c(POSIX)옵션의 경우 아스키코드값으로 비교하는데 한글영어 혼합의 경우 정렬이 정상적으로 되지 않을 수 있으므로 가급적 ko_KR.utf8로 한다.

4. 새로 생성한 데이터베이스에 덤프파일 올리기

psql -f mydb2dump.sql --host=<rds endpoint> --port=5432 --username= myuser --password --dbname= newDatabase_NAME 

profile
내가 볼려고 만든 블로그
post-custom-banner

0개의 댓글