I'm running Postgresql 9.6 on Ubuntu 16.04. The collation order is en_ZA.UTF-8. I'm puzzled by how Postgres compares strings:
test=> select 'b' > 'B';
?column?
----------
f
test=> select 'ba' > 'B';
?column?
----------
t
test=> select 'b' = 'B';
?column?
----------
f
test=> select 'ba' > 'C';
?column?
----------
f
The response to the second query doesn't make sense to me.