1

由于这可能与 AWS Lightsail 有关,我已经在 AWS 上交叉发布了这个问题 -单击此处

我正在尝试使用创建模板数据库

CREATE DATABASE __edgedbtpl__  OWNER='edgedb' IS_TEMPLATE = TRUE TEMPLATE='template0' ENCODING='UTF8' LC_COLLATE='C' LC_CTYPE='C.UTF-8';

但这失败了,给了我错误

ERROR:  invalid locale name: "C.UTF-8"

我检查了 PostgreSQL 服务器是否支持 C.UTF-8 语言环境,使用

SELECT collname FROM pg_collation WHERE lower(replace(collname, '-', '')) = 'c.utf8' LIMIT 1;

这给了我回应

 collname 
----------
 C.utf8
(1 row)

问题

  1. collnamesin和 and有什么pg_collation不同?SHOW LC_CTYPESHOW LC_COLLATE
  2. SHOW LC_COLLATE并以and notSHOW LC_TYPE回应。那么我应该如何确定是否支持某个语言环境?en_US.UTF-8C.UTF-8
4

1 回答 1

0

排序规则名称是标识符,而不是 PostgreSQL 中的字符串文字。使用双引号而不是单引号。此外,大小写和拼写很重要,所以使用"C.utf8".

于 2021-04-21T06:41:05.340 回答