2014-09-05 68 views
1

我试图用这个命令来创建数据库:失败的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 *值?

回答

0

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

+1

命令不会显示任何语言环境中,工作组=#\归类 模式的DOS + 名单|名称|整理| Ctype |说明 -------- + ------ + --------- + ------- + ------------- (0行) – Alonex 2014-09-07 06:01:44

0

我有一个类似的问题,试图在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'; 
相关问题