如何在 Postgresql 中提供区域设置?

jlf*_*aux 1 postgresql collation

我需要向我们的 postgresql 服务器添加新的语言环境(x86_64-unknown-linux-gnu 上的 PostgreSQL 9.4.4,由 gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2,64 位编译)。\n因为语言环境不是还安装在 Ubuntu 上,我添加了它们

\n\n

sudo locale-gen fr_FR.UTF-8

\n\n

语言环境现在确实显示为

\n\n

locale -a

\n\n

我重新启动了 postgresql 服务器,但区域设置在 postgresql 中不可见。我找不到select * from pg_collation;

\n\n

当我尝试使用 手动创建排序规则时create collation fr_FR (LOCALE=\xe2\x80\x98fr_FR.utf8\xe2\x80\x99),出现此错误

\n\n

ERROR: could not create locale "\xe2\x80\x98tr_tr.utf8\xe2\x80\x99": Success

\n\n

我是不是少了一步?

\n

Dan*_*ité 5

看起来像是语法问题。这个说法:

\n\n
create collation fr_FR (LOCALE=\xe2\x80\x98fr_FR.utf8\xe2\x80\x99)\n
Run Code Online (Sandbox Code Playgroud)\n\n

有 Unicode 非 ASCII 引号LEFT SINGLE QUOTATION MARK,而RIGHT SINGLE QUOTATION MARK不是普通的 ASCII 双引号。这些花哨的引号不是 SQL 语法的分隔符,因此它们被解释为语言环境名称的一部分。

\n\n

尝试使用:

\n\n
create collation fr_FR (LOCALE="fr_FR.utf8");\n
Run Code Online (Sandbox Code Playgroud)\n