本地化支持

注意: 作者是 Oleg Bartunov.请参阅 Oleg 的主页 获取关于本地化和俄语支持的附加信息.
在为一个位于莫斯科的公司做项目时,我发现了postgresql还不支持国家字符集的问题.在研究了可能存在的解决方案后,我决定自己开发本地化支持.我不是一个C程序员,但在使用perl(调试)和glimpse的过程中已经有一些本地化编程经验.在经过几天的 Postgres 代码树的分析后,我对src/backend/utils/adt/varlena.c 和 src/backend/main/main.c 做了很小的改动后就获得了我需要的特性!我只实现了对 LC_CTYPELC_COLLATE 的支持,但很快其他人就增加了 LC_MONETARY 的支持.我收到了很多人发给我的关于这个补丁的信息,所以我决定将它发送给开发人员然后(让我感到惊奇的是)这个补丁被集成到了Postgres 发布版本中去了!

人们经常抱怨说他们的(Postgres)本地化不能正常工作.下面是一些常见错误:

有何优点?

你可以将 ~* 和 order by 操作符用于包含国家代码集字符的字符串上.非英语用户绝对需要它.如果你不想用本地化支持只需要取消 USE_LOCALE 变量的定义即可.

有何缺点?