Soporte Local

Nota

Escrito por Oleg Bartunov. Ver Oleg's web page para más información sobre el soporte de lengua local y Rusa.

Mientras que estaba en un proyecto para una compañía en Moscú, Rusia, Me encontré con el problema que postgresql no tenia soporte para alfabetos nacionales. Después de mirar posibles soluciones alternativas decidí desarrollar un soporte local yo mismo. No soy un programador en C pero ya había tenido experiencia con la programación local cuando trabajo en perl (depurando) y glimpse. Después de bastantes días sumergido por el árbol de fuente de Postgres Realice muy pocas correcciones en src/backend/utils/adt/varlena.c and src/backend/main/main.c para conseguir lo que quería! Di soporte sólo para LC_CTYPE and LC_COLLATE, pero más tarde otros lo añadieron para LC_MONETARY . Tuve muchos mensajes de la gente a cerca de este parche por eso decidí enviarselo a los desarrolladores y (sorprendentemente) lo incorporaron dentro de la distribución Postgres .

La gente a veces se queja que el soporte local no funciona para ellos. Hay algunos errores comunes:

Cuales son los Beneficios?

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.

Cuales son las Desventajas?

Hay una evidente desventaja si utilizamos el  soporte local - que el la velocidad! Por eso, utilízalo sólo si verdaderamente lo necesitas.