Bes*_*ces 7 postgresql postgresql-9.2
在Mac OS(开发)和Linux(生产服务器)之间切换时,Postgres的排序规则会发生变化,因为Postgres中的排序规则依赖于底层操作系统配置.
如何在Linux中实现与Mac OS中相同的Postgres排序规则行为?
我正在运行Postgres 9.2
OS X上的语言环境已经被彻底打破,而Linux(glibc)上的语言环境则不够,因此您将很难成功排序.唯一的方法是使用最低公分母,即C语言环境.但是,如果您正在开发实际依赖于有用的自然语言校对行为的应用程序,则需要在生产中使用的同一平台上执行此操作.我建议在OS X机器上设置一个运行Linux的虚拟盒子.
您可以控制使用时的排序规则CREATE DATABASE- 请参阅LC_COLLATE选项CREATE DATABASE.
PostgreSQL将使用底层操作系统排序规则,因此如果操作系统不提供完全相同的语言环境或它们的实现不同,则无法始终获得完全匹配.添加对使用ICU进行内部独立于操作系统的排序规则的支持长期以来一直列在心愿单上,但这是一项巨大的工作,没有人想要做到这么糟糕.
| 归档时间: |
|
| 查看次数: |
530 次 |
| 最近记录: |