sql >> Base de Datos >  >> RDS >> PostgreSQL

Instalación de PostgreSQL 9.1 y codificación de base de datos

La opción relevante es --locale=locale a la initdb comando que inicializa su clúster de base de datos. Si no lo proporciona explícitamente, el valor predeterminado es la configuración regional del sistema. (Probablemente ejecute su Ubuntu en la configuración regional 'C').

Lea más sobre esto en el excelente manual aquí .

En PostgreSQL usted puede aún colarse en una base de datos con una configuración regional diferente al basar una nueva base de datos en template0 en lugar del predeterminado templeate1 . Cito el manual aquí :

Pero prefiero recrear el clúster de la base de datos con la configuración regional deseada. Mucho más limpio.

Editar:información sobre las configuraciones regionales disponibles

Solo puede usar configuraciones regionales proporcionadas por el sistema operativo. Cito el manual aquí :

Mire locale-gen en un sistema Unix, si desea utilizar una configuración regional que aún no se ha generado. Lo importante que debe comprender es que se pueden instalar varias configuraciones regionales en su sistema operativo, pero solo se puede elegir una de ellas para parámetros del sistema como LC_CTYPE , LC_COLLATE , etc. Mire la salida de locale versus locale -a en la concha Por lo general, es el mismo para todos, establecido a través de LC_ALL .

@David:lo que hiciste puede haber resuelto tu problema, pero podrías haberlo tenido más fácil. Además, tenga en cuenta que la variable de entorno LANG solo proporciona el predeterminado para todos los ajustes locales. Si alguno de ellos está configurado en algo diferente, LANG será anulado. Establecer LC_ALL para anular cualquier configuración existente. Aquí está uno de muchos sitios en la web con más información al respecto.

Para verificar todas las configuraciones regionales actuales de su base de datos (clúster), ejecute en su base de datos:

SHOW ALL;

O más específicamente:

SELECT *
FROM   pg_settings
WHERE  name ~~ 'lc%';