如何解决YugabyteDB 中的排序规则支持?
我需要使用 YugabyteDB 中的整理,并且对 YugabyteDB 中整理的工作方式有一些疑问 -
- YugabyteDB 是否支持 Postgres 的所有功能? Postgres 的整理支持是最新的吗?
- 例如,不区分大小写和重音,支持确定性还是非确定性?你如何处理决胜局?
- 我在创建类型和创建数据库中看到排序规则 - https://docs.yugabyte.com/latest/api/ysql/the-sql-language/statements/ddl_create_type/ 但是没有看到它是如何工作的任何例子吗?您在什么操作系统上支持什么整理提供程序(ICU 优先于 libc)?
解决方法
目前 Yugabyte 还不支持列整理。然而,有一个活跃的项目将整理支持引入 YSQL。由于 YSQL 仍然基于 PostgreSQL 11.2 版本,该版本仅支持确定性排序规则,因此计划首先在 YSQL 中支持确定性排序规则。 tie-breaker 仅用于确定性排序规则。一旦 YSQL 同步到 PostgreSQL 版本 12 或版本 13,YSQL 也将得到增强以支持非确定性排序规则。大小写和重音不敏感的排序规则只有在排序规则不确定时才可能。因此,在基于 PostgreSQL 11.2 版的 YSQL 中的第一个实现中,它们将不受支持。在正在进行的 YSQL 整理项目中,将同时支持 libc 和 ICU。但是,对于 libc,将仅支持基本排序规则:C、POSIX、ucs_basic 和 en_US.utf8。这种限制有几个原因,其中:(1)据说ICU比libc有更好的支持(例如,更少的错误),并且总的来说ICU似乎是趋势; (2) Yugabyte 有一个受限的 centos linuxbrew libc,它只包含那些基本的排序规则,以便在 centos 和 mac 之间保持一致,libc 排序规则仅限于那些基本的排序规则。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。