所以我去了文档阅读有关语言环境的内容(http://www. postgresql.org/docs/8.4/static/locale.HTML).
字符串排序顺序是我特别感兴趣的(我希望字符串排序为’A a b c D d’而不是’A B C … Z a b c’).
问题1:创建数据库时是否只需要设置LC_ColLATE(字符串排序顺序)?
我还读到了关于LC_CTYPE(字符分类(什么是字母?它的大写等价?))
问题2:有人可以解释这意味着什么吗?
解决方法 您描述的排序顺序是大多数语言环境中的标准.试试吧:
SELECT regexp_split_to_table('D d a A c b',' ') ORDER BY 1;
使用initdb初始化数据库集群时,可以使用–locale = some_locale选择语言环境.就我而言,它是–locale = de_AT.UTF-8.如果未指定任何语言环境继承自环境 – 将使用您当前的系统区域设置.
群集的模板数据库将设置为该区域设置.创建新数据库时,它会从模板继承设置.通常你不必担心任何事情,这一切都有效.
阅读CREATE DATABASE章节了解更多信息.
如果您想加快索引的文本搜索速度,请务必阅读有关operator classes的内容.
所有指向版本8.4的链接,正如您特别要求的那样.
在Postgresql 9.1或更高版本中,有collation support允许更灵活地使用归类:
总结The collation feature allows specifying the sort order and character classification behavior of data per-column,or even per-operation. This alleviates the restriction that the LC_ColLATE and LC_CTYPE settings of a database cannot be changed after its creation.
以上是内存溢出为你收集整理的postgresql – 字符串排序顺序(LC_COLLATE和LC_CTYPE)全部内容,希望文章能够帮你解决postgresql – 字符串排序顺序(LC_COLLATE和LC_CTYPE)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)