【问题标题】:Collation support in YugabyteDB?YugabyteDB 中的排序规则支持?
【发布时间】:2021-09-17 16:00:33
【问题描述】:

我需要使用 YugabyteDB 中的排序规则,并且对 YugabyteDB 中排序规则的工作方式有一些疑问 -

  1. YugabyteDB 是否支持 Postgres 的所有功能?是否通过 Postgres 的整理获得最新支持?
  2. 例如,不区分大小写和重音,是否支持确定性与非确定性?您如何处理决胜局?
  3. 我在创建类型和创建数据库中看到排序规则 - https://docs.yugabyte.com/latest/api/ysql/the-sql-language/statements/ddl_create_type/ 但是没有看到任何关于它如何工作的例子?您在什么操作系统上支持哪种排序规则提供程序(ICU 优先于 libc)?

【问题讨论】:

    标签: database collation yugabyte-db


    【解决方案1】:

    目前 Yugabyte 还不支持列排序。然而,有一个活跃的项目将排序规则支持引入 YSQL。因为 YSQL 仍然基于只支持确定性排序规则的 PostgreSQL 版本 11.2,所以计划首先在 YSQL 中支持确定性排序规则。决胜局仅由确定性排序规则使用。一旦 YSQL 同步到 PostgreSQL 版本 12 或版本 13,YSQL 也将得到增强以支持非确定性排序规则。仅当排序规则不确定时,才可能进行不区分大小写和重音的排序规则。因此,在基于 PostgreSQL 版本 11.2 的 YSQL 的第一个实现中,它们将不受支持。在正在进行的 YSQL 排序项目中,将同时支持 libc 和 ICU。但是对于 libc,将仅支持基本排序规则:C、POSIX、ucs_basic 和 en_US.utf8。这种限制有几个原因,其中:(1)据说 ICU 比 libc 有更好的支持(例如,更少的 bug),似乎总体上 ICU 是趋势; (2) Yugabyte 有一个受限的 centos linuxbrew libc,它只包含那些基本排序规则,以便在 centos 和 mac 之间保持一致,libc 排序规则仅限于那些基本排序规则。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-07
      • 2011-02-11
      • 2022-01-17
      • 2022-10-17
      • 2014-03-20
      • 1970-01-01
      • 2012-06-15
      • 2017-05-17
      相关资源
      最近更新 更多