我正在尝试使用此命令创建数据库:
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"
我在Windows 7上添加了挪威语(Bokmål)键盘,并且在标准“a”(Bokmal)和没有空格的情况下也失败了。
使用此语言环境创建数据库:
LC_COLLATE='Estonian_Estonia.1257'
LC_CTYPE='Estonian_Estonia.1257'
工作正常。
我已经使用挪威语Bokmal语言环境安装了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 :(得分:0)
尝试在psql中发布\dOs+
,它将显示可用语言环境的列表。
答案 1 :(得分: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)与排序规则不兼容 模板数据库(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';