Funções de string no Postgres não reconhecem espaços não separáveis como espaços em branco, nem ao cortar nem ao usar expressões regulares:
select 'x' || test || 'x', 'x' || trim(test) || 'x', 'x' || regexp_replace(test, '\s+', '') || 'x' from
(values
(''),
(' '),
(' y '),
('s s s s')
) as foo(test)
(Não tenho certeza se o não separável ( ) sobrevive no código acima, mas as duas últimas linhas contêm nbsp) Demonstração do Onecompiler SQL
É uma coisa do Postgres não lidar com isso, ou é um bug? Eu sei de char(160) para nbsp, mas preferiria uma maneira geral de remover todos os espaços em branco
A ordenação em uso é en_US.utf8