我有两个数据库,一个在 postgresql 8.4 上运行,另一个在 postgresql 9.1 上运行。两者都在具有相同语言环境的 CentOS 机器上(en_US
) 的 CentOS 机器上。
假设我有一个包含这些数据的表:
id | description
1 Morango
2 CAFÉ
3 pera
4 Uva
奇怪的是,当我运行这样的查询时:
SELECT * FROM products WHERE description ~* 'café'
在 8.4 机器上我没有得到任何结果,但在 9.1 机器上我得到了行(CAFÉ
)。显然,它们在如何比较大写 unicode 字符方面有所不同。
- 有人能给我一些关于这个问题的见解吗?
- 是不是 postgresql 的不同版本会导致这个问题?
- 我可以进行任何其他配置来平衡两台机器的行为吗?
更新:两个数据库都是 UTF-8