YugabyteDB 中的排序规则支持?

问题描述

我需要使用 YugabyteDB 中的整理,并且对 YugabyteDB 中整理的工作方式有一些疑问 -

  1. YugabyteDB 是否支持 Postgres 的所有功能? Postgres 的整理支持是最新的吗?
  2. 例如,不区分大小写和重音,支持确定性还是非确定性?你如何处理决胜局?
  3. 我在创建类型和创建数据库中看到排序规则 - 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 排序规则仅限于那些基本的排序规则。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...