![]() | Escrito por Oleg Bartunov. Ver Oleg's web page para más información sobre el soporte de lengua local y Rusa. |
La gente a veces se queja que el soporte local no funciona para ellos. Hay algunos errores comunes:
No configurar debidamente postgresql antes de compilarlo. Tu debes ejecutar la configuración con la opción --enable-locale para activar el soporte local. No iniciar el entorno correctamente cuando se inicia postmaster. Tu debes definir las variables de entorno LC_CTYPE and LC_COLLATE antes de ejecutar postmaster porque por detrás coge información local del entorno. Yo uso el siguiente shell script (runpostgres):
#!/bin/sh
export LC_CTYPE=koi8-r
export LC_COLLATE=koi8-r
postmaster -B 1024 -S -D/usr/local/pgsql/data/ -o '-Fe'
|
/bin/su - postgres -c "/home/postgres/runpostgres"
|
Un soporte local estropeado en un OS (por ejemplo, el soporte local en libc bajo Linux algunas veces ha sido cambiado y esto ha causado muchos problemas) El más reciente perl tiene también soporte local y si el soporte local es defectuoso perl -v da un aviso parecido a esto:
8:17[mira]:~/WWW/postgres>setenv LC_CTYPE not_exist
8:18[mira]:~/WWW/postgres>perl -v
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = (unset),
LC_CTYPE = "not_exist",
LANG = (unset)
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
|
Localización errónea de los ficheros locales! Las posibles localizaciones son: /usr/lib/locale (Linux, Solaris), /usr/share/locale (Linux), /usr/lib/nls/loc (DUX 4.0). Chequea man locale para encontrar la localización correcta. Bajo Linux yo hice un enlace simbólico entre /usr/lib/locale y /usr/share/locale para estar seguro que la próxima libc no estropea mi soporte local.
Tu puedes usar ~* y el operador order by para cadenas que contienen caracteres de alfabetos nacionales. Los usuarios no Ingleses definitivamente lo necesitan. Si tu no quieres usar el soporte local libera la variable USE_LOCALE.
Hay una evidente desventaja si utilizamos el soporte local - que el la velocidad! Por eso, utilízalo sólo si verdaderamente lo necesitas.