AWS Aurora Postgres 12 设置排序规则

AWS Aurora Postgres 12 Setting Collation

我正在尝试将 AWS Aurora Postgres 12 上的排序规则设置为用户定义的排序规则类型。

CREATE COLLATION ndcoll (provider = icu, locale = 'und', deterministic = false);

我可以很好地创建排序规则。它最终被输入 pg_collations table.

但是,当我尝试使用这个新的用户定义的排序规则创建数据库时,我不断收到错误 SQL Error [42809]: ERROR: invalid locale name: "ndcoll"

这是创建数据库语句:

create database "foo" with template 'bar' lc_collate = "ndcoll";

我知道还有一种方法可以使用自定义参数组在服务器级别设置排序规则。但是我正在使用 aurora-postgres 12 的参数组系列没有可用于设置排序规则的参数。创建用户定义的排序规则后,我重新启动了 Aurora 服务器,但仍然无法让数据库识别区域设置。我可能也不了解语言环境和 lc_collate。可能我这边从根本上有误会

有没有人知道我可以如何使用我的用户定义的排序规则 1) 使用此用户定义的排序规则创建新数据库或 2) 在服务器级别将排序规则设置为非确定性排序规则aurora-postgres12 参数组系列。

提前致谢!

您不能在 CREATE DATABASE 语句中使用 ICU 归类。

该限制可能会在未来的某个 PostgreSQL 版本中解除。 目前,在 PostgreSQL 中使用非确定性排序规则的唯一方法是在列级别使用它们。