失败的Postgres的9.3创建数据库与挪威(挪威语)区域
问题描述:
我试图用这个命令来创建数据库:失败的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"
我加挪威语(Bokmål)键盘在Windows 7上,也失败了标准'a'(Bokmal),没有空间。
这个地方创建的DB:
LC_COLLATE='Estonian_Estonia.1257'
LC_CTYPE='Estonian_Estonia.1257'
工作正常。
我已经安装了Windows 9.3的Postgres用挪威语语言环境,但随后查询使用SQL命令的语言环境中的数据库:
show LC_COLLATE;
show LC_CTYPE;
SELECT *
FROM pg_settings
WHERE name ~~ 'lc%';
它返回LC_COLLATE和LC_CTYPE空数据。
挪威语(Bokmål)语言环境应该是什么样的LC *值?
答
尝试在psql中发出\dOs+
,它将显示可用区域设置的列表。
答
我有一个类似的问题,试图在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'
我然后得到另一个问题:
new collation (pt_BR.UTF8) is incompatible with the collation of the template database (en_US.UTF-8)
这是自我解释,我的系统和数据库使用另一个区域设置,所以我fixed it。
你可以找到更多关于你的Postgres版本排序here
我相信这应该解决您的问题:
CREATE DATABASE workgroup WITH TEMPLATE = template0
ENCODING = 'UTF8'
LC_COLLATE = 'nb_NO.UTF8'
LC_CTYPE = 'nb_NO.UTF8';
命令不会显示任何语言环境中,工作组=#\归类 模式的DOS + 名单|名称|整理| Ctype |说明 -------- + ------ + --------- + ------- + ------------- (0行) – Alonex 2014-09-07 06:01:44