暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【翻译PG】51.12. pg_collation

seagull 2025-03-21
17

51.12. pg_collation

目录pg_collation描述了可用的排序规则,其本质是从一个SQL名字到操作系统locale分类的映射。更多信息参见第 23.2 节

表 51.12. pg_collation的列

名称 类型 引用 描述
oid oid   行标识符
collname name   排序规则名字(在每一个名字空间和编码中唯一)
collnamespace oid pg_namespace.oid 包含该排序规则的名字空间的OID
collowner oid pg_authid.oid 排序规则的拥有者
collprovider char   排序规则的提供者:d = 数据库默认,c = libc,i = icu
collisdeterministic bool   排序规则是确定性的吗?
collencoding int4   该排序规则可应用的编码,-1表示它可用于任何编码
collcollate name   该排序规则对象的LC_COLLATE
collctype name   该排序规则对象的LC_CTYPE
collversion text   排序规则的提供者相关的版本。这是在排序规则创建时记录下来的,并且在使用排序规则时会被检查以检测可能导致数据损坏的排序规则定义的改变。


注意在这个目录中的唯一键是(collnamecollencodingcollnamespace), 不仅仅是(collnamecollnamespace)。 所有collencoding不等于当前数据库编码或-1的编码规则通常都会被忽略,且禁止创建和collencoding = -1的项重名的项。因此使用一个受限的SQL名字(schema.name)来标识一个排序规则是足够的,即使这根据目录定义是不唯一的。以这种方式定义这个目录的原因是会在集簇初始化时使用系统上所有可用的locale填充这个目录,所以它必须能够为所有可能在集簇中使用的编码保持项。

template0数据库中,创建与数据库编码不匹配的编码是有用的,因为它们可以匹配后面从template0克隆的数据库的编码。这在目前必须手动完成。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论