postgresql – 字符串排序顺序(LC_COLLATE和LC_CTYPE)

postgresql – 字符串排序顺序(LC_COLLATE和LC_CTYPE),第1张

概述显然,自版本8.4起,PostgreSQL允许每个数据库使用不同的语言环境 所以我去了文档阅读有关语言环境的内容(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_COLLA 显然,自版本8.4起,Postgresql允许每个数据库使用不同的语言环境
所以我去了文档阅读有关语言环境的内容(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)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1157749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存