【发布时间】:2013-06-29 14:41:23
【问题描述】:
默认情况下,PostgreSQL 没有区分大小写的排序规则。它的文档描述了一种基于操作系统语言环境添加新排序规则的方法,例如:
http://www.postgresql.org/docs/9.1/static/sql-createcollation.html
但是创建的排序规则是区分大小写的。
我的问题是:如何向 PostgreSQL 服务器添加不区分大小写的排序规则?
有人能描述一下工作流程吗?
我无法在网上找到任何参考资料,而有些人提到这是可能的。 我已经在 Windows 上使用 v9.1 - Debian GNU/Linux 和 v9.2 进行了测试。
只是为了澄清我知道:
- PostgreSQL CITEXT 附加数据类型
- LOWER/UPPER 用于搜索和索引。
这些不是我想要的解决方案。
【问题讨论】:
-
你能给出你不想要的解决方案的理由吗?也许还有另一种你没有想到的方式?我可以猜到
lower/upper的问题,但citext避免了这些问题:与自定义排序规则一样,它调整了=的含义,因此不区分大小写对调用代码是透明的。 -
我完全同意你的问题。我自己也需要同样的东西。你解决了吗?如果是,请添加您自己的答案。
标签: database postgresql collation