无法使用挪威语(博克马尔语)语言环境在 Postgres 9.3 中创建数据库



我正在尝试使用以下命令创建数据库:

CREATE DATABASE workgroup WITH TEMPLATE = template0 
ENCODING = 'UTF8' 
LC_COLLATE = 'Norwegian (Bokmål)_Norway.1252' 
LC_CTYPE = 'Norwegian (Bokmål)_Norway.1252';

但它失败了,出现了以下错误:

"ERROR:  invalid locale name: "Norwegian (Bokmål)_Norway.1252"
********** Error **********
ERROR: invalid locale name: "Norwegian (Bokmål)_Norway.1252" SQL state: 42809"

我在Windows7上添加了挪威语(Bokmål)键盘,但在标准的"a"(Bokmal)和没有空格的情况下也失败了。

使用以下区域设置创建数据库:

LC_COLLATE='Estonian_Estonia.1257' 
LC_CTYPE='Estonian_Estonia.1257'

工作良好。

我安装了挪威博克马尔语言环境的Windows9.3Postgres,但随后使用SQL命令查询数据库中的语言环境:

show LC_COLLATE;
show LC_CTYPE;
SELECT *
FROM   pg_settings
WHERE  name ~~ 'lc%';

它为LC_COLLATE和LC_CTYPE返回空数据。

挪威语(Bokmål)地区的LC*值应该是多少?

我在尝试一个在windows上工作但在linux上不工作的查询时遇到了类似的问题:

CREATE DATABASE testingDB
WITH OWNER = postgres
   ENCODING = 'UTF8'
   TABLESPACE = pg_default
   LC_COLLATE = 'Portuguese_Brazil.1252'
   LC_CTYPE = 'Portuguese_Brazil.1252'
   CONNECTION LIMIT = -1;

当我更换时

'Portuguese_Brazil.1252'

'pt_BR.UTF8'

然后我遇到了另一个问题:

新排序规则(pt_BR.UTF8)与模板数据库(en_US.UTF-8)

这是我自己解释的,我的系统和数据库使用另一个区域设置,所以我修复了它

你可以在这里找到更多关于postgres版本排序的信息

我认为这应该解决你的问题:

CREATE DATABASE workgroup WITH TEMPLATE = template0 
ENCODING = 'UTF8' 
LC_COLLATE = 'nb_NO.UTF8' 
LC_CTYPE = 'nb_NO.UTF8';

尝试在psql中发出dOs+,它将显示可用区域设置的列表。

最新更新