Talvez eu precise alterar as configurações de localidade de lc_messages, lc_monetary, lc_numeric e lc_time na minha configuração do PostgreSQL. No entanto, preciso saber o que elas afetam especificamente antes de fazer isso. A documentação do PostgreSQL fornece uma lista do que é afetado, mas ainda deixa muitas perguntas em aberto. Por exemplo, ela diz que as funções upper
e lower
são afetadas. Isso se aplica a todas as configurações? Ou apenas a algumas delas? Ela também diz que to_char() é afetado. Como, exatamente?
Quero saber com antecedência se essa mudança exigirá alteração no código do aplicativo. Existe algum bom recurso para me ajudar a gerar uma lista de recursos/cenários para testar?
O que afeta
upper()
elower()
é aLC_CTYPE
configuração. Por exemplo, se eu criar o seguinte banco de dados no meu sistema Linux (os nomes de agrupamento em outros sistemas operacionais podem ser diferentes):então eu recebo o seguinte:
Mas eu entendo
IZMIR
comLC_CTYPE
configurações diferentes.LC_CTYPE
também afeta a forma como um caractere é classificado. Por exemplo, comLC_CTYPE "C"
, algarismos arábicos não serão classificados como algarismos:LC_COLLATE
determina como as strings são classificadas e comparadas. Por exemplo, veja a seguinte comparação entre a ordenação em inglês e a ordenação em tcheco:LC_MESSAGES
determina o idioma usado nas mensagens de erro do servidor e no log do servidor.LC_TIME
determina comoto_char()
renderiza strings de formato de data e hora localizadas:LC_NUMERIC
determina separadores decimais e de grupo localizados emto_char()
números:LC_MONETARY
determina o símbolo de moeda usadoto_char()
e o tipo de dadosmoney
: