相关疑难解决方法(0)

尽管 Postgres 中的排序规则相同,但排序不同

尽管使用的排序规则显然相同,但我对带有变音符号的项目得到了不同的排序结果。

因此,在我的 mac 盒中安装Postgress.app进行开发后,我创建了下表:

create table names (
    id int primary key,
    name varchar
)
Run Code Online (Sandbox Code Playgroud)

然后插入一些值

insert into names values (1, "Francisco");
insert into names values (2, "Ana");
insert into names values (3, "Ágata");
Run Code Online (Sandbox Code Playgroud)

然后像这样查询它们:

select name from names order by name;
Run Code Online (Sandbox Code Playgroud)

我得到了一个错误的排序顺序,如下所示:

Ana
Francisco
Ágata
Run Code Online (Sandbox Code Playgroud)

我可以确认

select datname, 
       datcollate
from pg_database;
Run Code Online (Sandbox Code Playgroud)

datcollate所有数据库值en_US.UTF-8

为了帮助我调试这个问题,我快速启动了一个具有相同数据、查询和整理的 RDS 实例,但这次我得到了正确的预期排序顺序:

Ágata
Ana
Francisco
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么,如何在我的开发框中配置 postgres 以使其按预期运行?

postgresql collation

3
推荐指数
1
解决办法
344
查看次数

标签 统计

collation ×1

postgresql ×1