Postgresql 9.2 "nombre de configuración regional no válido" en Ubuntu 12.04

9

Hoy instalé Postgresql 9.2 en Ubuntu con precisión a través de apt.postgresql.org; todo fue relativamente sencillo hasta que me quedé atrapado en un error de "nombre de configuración regional no vá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"

Sin locale-gen it_IT.utf8embargo, corrí, y de hecho:

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

Los registros no parecen tener información significativa sobre por qué postgres no lo reconoce_IT.utf8 ... ¿puede ayudarme?

giorgiga
fuente

Respuestas:

20

Si PostgreSQL no se ha reiniciado después de que se haya creado la nueva configuración regional, esa sería la razón. service postgresql restartDebería ser suficiente.

Esto se debe presumiblemente a cómo se implementan las configuraciones regionales en Linux libc. Las nuevas configuraciones regionales no se importan a la perfección en el entorno de procesos que ya se están ejecutando.

Daniel Vérité
fuente
Esta es una solución mucho menos brutal que la mía :)
giorgiga
0

local-gen No funcionó en mi caso.

Instalé la configuración regional que falta con esto:

dpkg-reconfigure locales

Luego se mostró en locale -a:

locale -a

Y luego reiniciando postgresql:

service postgresql restart
Wadih M.
fuente