2014-09-05 36 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';