在PostgreSQL中安装utf8排序规则

问题描述 投票:4回答:1

现在,我可以在pgAdmin4 GUI中创建新数据库时选择Encoding : UTF8

但是,没有选择utf8_general_ci作为校对或字符类型的选项。当我做select * from pg_collation;时,我没有看到任何与utf8_general_ci相关的整理。

来自mySQL背景我很困惑。我是否必须在PostgreSQL 10或windows10中安装类似utf8(例如utf8_general_ciutf8_unicode_ci)的排序规则?

我只想将相同的mySQL collation utf8_general_ci用于PostgreSQL。

谢谢

postgresql encoding utf-8 locale collation
1个回答
5
投票

utf8是一种编码(如何将unicode字符表示为一系列字节),而不是排序规则(该字符在此之前进行)。

我认为utf8_general_ci(或更现代的utf8_unicode_ci)的Postgres 10校对等同称为und-x-icu - 这是ICU库提供的未定义的校对(未定义为任何现实世界语言)。这种整理将从大多数语言中排序相当合理的字符。

ICU支持是PostgreSQL 10中添加的一项新功能,因此这种排序规则不适用于较旧的PostgreSQL版本,也不适用于编译期间禁用的版本。之前Postgres使用操作系统提供的整理支持,这在操作系统之间有所不同。

© www.soinside.com 2019 - 2024. All rights reserved.