Postgresql 9.2 “invalid locale name” no Ubuntu 12.04

7

Hoje eu instalei o Postgresql 9.2 no Ubuntu preciso via apt.postgresql.org - tudo foi relativamente indolor até que eu fiquei preso em um erro "nome de local inválido: it_IT.utf8":

root@ubuntu:/tmp# sudo -u postgres psql -Xc "CREATE DATABASE test TEMPLATE template0 ENCODING 'utf8' LC_CTYPE='it_IT.utf8'"
ERROR:  invalid locale name: "it_IT.utf8"

Eu corri locale-gen it_IT.utf8 e, na verdade:

root@ubuntu:/tmp# locale -a
C
C.UTF-8
en_GB.utf8
en_US.utf8
it_IT.utf8
POSIX

Logs não parecem ter nenhuma informação significativa sobre por que o postgres não está reconhecendo it_IT.utf8 ... você pode ajudar?

    
por giorgiga 25.03.2013 / 21:35

1 resposta

17

Se o PostgreSQL não foi reiniciado após a criação da nova localidade, essa seria a razão. service postgresql restart deve ser suficiente.

Isto é presumivelmente devido a como as localidades são implementadas no Linux libc . Os novos locais não são importados para o ambiente de processos já em execução.

    
por 26.03.2013 / 16:48