概要 PostgreSQLをデフォルトのまま使用すると日本語文字列のソート結果が想定と異なる LOCALEを正しく設定することで修正可能 文字列の並び順は LC_COLLATE で制御されるこの設定がデフォルトだと en_US.utf8 となっていることが原因 動作確認環境 Docker PostgreSQL 11.5 対応方法 FROM postgres:11.5 RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8 ENV TZ=Asia/Tokyo ENV LANG=ja_JP.UTF-8 ENV LANGUAGE=ja_JP:ja ENV LC_ALL=ja_JP.UTF-8 詳細及び再現手順 再現 起動 docker run -d --name postgres_1 pos