首页 > 解决方案 > 在 Postgres 10 中获取 und-x-icu 作为排序规则和字符类型并赢得 server 2008

问题描述

我已经在 Windows Server 2008 R2 标准 64 位中成功安装了 Postgres 10。

我正在尝试创建一个具有以下 SQL LC_COLLATE = 'und-x-icu'的 新数据库LC_CTYPE = 'und-x-icu'

CREATE DATABASE hey
    WITH 
    OWNER = postgres
    ENCODING = 'UTF8'
    LC_COLLATE = 'und-x-icu'
    LC_CTYPE = 'und-x-icu'
    TABLESPACE = pg_default
    CONNECTION LIMIT = -1
    TEMPLATE = template0
    ;

我明白了ERROR: invalid locale name: "und-x-icu" SQL state: 42809

SELECT * FROM pg_collation;清楚地表明und-x-icu

相同的 SQL 在我的笔记本电脑(Windows 10)上工作。

我在服务器上安装时确实选择locale : C了,但我不记得在笔记本电脑上安装时选择了什么作为语言环境。

如何在 win server 2008 上完成这项工作并获得und-x-icu

标签: postgresqllocalewindows-server-2008-r2collation

解决方案


该文档似乎没有提到该限制,但您不能在CREATE DATABASE.

这可能会在未来得到改进,但目前还没有办法将 ICU 排序规则作为默认排序规则。


推荐阅读