Ma conclusion après quelques tests (Postgres 8.4.7 sur Scientific Linux 6.0) est qu'il s'agit très probablement d'un bogue dans le système fr_CA locale :
-bash-4.1$ psql
psql (8.4.7)
Saisissez « help » pour l'aide.
postgres=# show lc_collate ;
lc_collate
------------
fr_CA.utf8
(1 ligne)
postgres=# create table addressees (party_id serial primary key, fullname text);
NOTICE: CREATE TABLE créera des séquences implicites « addressees_party_id_seq » pour la colonne serial « addressees.party_id »
NOTICE: CREATE TABLE / PRIMARY KEY créera un index implicite « addressees_pkey » pour la table « addressees »
CREATE TABLE
postgres=# insert into addressees (fullname) values ('VRV Express inc. [4473]'),('Vêtements S.P. Apparels inc. (Les) [2481]'),('Zellers inc. (Galeries Orford) [1264]'), ('Étude de Me André Caron [618]'),('Étude de Me Richard Drapeau [36]');
INSERT 0 5
postgres=# select * from addressees order by lower(fullname);
party_id | fullname
----------+-------------------------------------------
4 | Étude de Me André Caron [618]
5 | Étude de Me Richard Drapeau [36]
2 | Vêtements S.P. Apparels inc. (Les) [2481]
1 | VRV Express inc. [4473]
3 | Zellers inc. (Galeries Orford) [1264]
(5 lignes)
postgres=#