我正在尝试使用以下命令创建数据库:
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+
,它将显示可用区域设置的列表。