postgresql 在postgres中添加COLLATION

6yoyoihd  于 2023-02-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(277)

我正在将数据从SQL Server迁移到Postgres。由于Postgres区分大小写,因此我尝试添加不区分大小写的COLLATION,但失败并出现以下错误-
错误:无法创建语言环境"en-u-ks-primary":没有这样的文件或目录详细信息:操作系统找不到区域设置名称"en-u-ks-primary"的任何区域设置数据。SQL状态:22023

CREATE COLLATION main.case_insensitive_collation (LC_COLLATE = 'en-u-ks-primary',
        LC_CTYPE = 'en-u-ks-primary'
        PROVIDER = icu,
        DETERMINISTIC = False
    );

检查postgres的版本-

SELECT version();

x86_64-pc-linux-gnu上的PostgreSQL 12.5,由gcc(Debian 8.3.0 - 6)8.3.0编译,64位
你知道我该怎么解决这个问题或者让它工作吗?
先谢谢你,
内哈

62o28rlo

62o28rlo1#

归类定义错误。它应该类似于

CREATE COLLATION english_ci (
   PROVIDER = icu,
   LOCALE = 'en-u-ks-level2',
   DETERMINISTIC = FALSE
);

Here是一篇介绍这方面信息的文章。

相关问题