Unicode の観点からは、大文字と小文字の順序はカスタマイズです。http://www.unicode.org/reports/tr10からの抜粋:
ケース注文。辞書や著者によっては、小文字の前に大文字を照合するものもあれば、その逆を使用するものもあるため、好みをカスタマイズできる必要があります。デンマークのように、場合によっては政府によって命令されることがあります。多くの場合、それは単なるカスタマイズまたはユーザー設定です。
Mac OS X では、Heroku で使用されている OS とは単に大文字と小文字の順序が異なります。Mac OS X の場合:
$ LC_CTYPE=en_US.UTF-8 sort << EOF
> i
> N
> EOF
生成:
ニー
_
Ubuntu 12.04 でまったく同じコマンドと同じデータを実行すると、次の結果が生成されます。
私は
N
これは、照合に OS を使用するという事実を除いて、PostgreSQL とは関係がないため、異なる OS 間のこれらの不幸な不一致はデータベースに影響を与えます。
PostgreSQL 10 と ICU
バージョン 10 以降、PostgreSQL は、ICU でコンパイルされたサーバーに対して、ICU ライブラリによって提供される照合を使用する場合があります。これらの照合は、オペレーティング システム間で一貫してソートできます。