Непонятная сортировка по текстовому полю

Имею простую таблицу в PostgreSQL 9.3.11:

create table sorttest
(
name varchar(64)
);

Добавляю три имени и делаю select с сортировкой по имени:
insert into sorttest values ('Aalto Oiva');
insert into sorttest values ('Aaltoo Leila');
insert into sorttest values ('Aalto Anna');
select * from sorttest order by name;

Результат ожидаемый.
test=> select * from sorttest order by name;
name
--------------
Aalto Anna
Aalto Oiva
Aaltoo Leila
(3 rows)

Меняю одну букву в имени второго человека. Пробую сортировать снова:
delete from sorttest;
insert into sorttest values ('Aalto Oiva');
insert into sorttest values ('Aaltom Leila');
insert into sorttest values ('Aalto Anna');
select * from sorttest order by name;

Что происходит, почему Aaltom Leila стала второй?
test=> select * from sorttest order by name;
name
--------------
Aalto Anna
Aaltom Leila
Aalto Oiva
(3 rows)

У меня нету к сожалению более новой версии. Mожет кто-нибудь объяснить в чем проблема или попробовать на более новой версии (может уже починили)?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Нашел причину проблемы, но

Нашел причину проблемы. Она совсем не в PostgreSQL, а в libc.
http://www.gnu.org/software/coreutils/faq/#Sort-does-not-sort-in-normal-...
Сортировка просто не учитывает пробелы между слов.

Принимаю любые советы, как исправить положение.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023