我正在使用PostgreSQL 9.1。試圖強制默認使用UTF8編碼。postgresql initdb出了什麼問題?爲什麼「UTF-8」編碼沒有得到執行?
這就是我正在做的。
service postgresql initdb -E 'UTF-8' --lc-collate='en_US.UTF-8' --lc-ctype=locale='en_US.UTF-8';
雖然動初始化過程的推移,沒有任何問題,
一個\l
在psql
提示提供有詳細介紹。
List of databases
Name | Owner |Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | LATIN1 | en_US | en_US|
爲什麼UTF-8
編碼沒有得到強制執行?
你說得對。儘管我無法直接以超級用戶身份運行'initdb'。給出了一個'initdb:不能以root身份運行 請以((非特權))用戶身份登錄(例如使用「su」),該用戶將擁有服務器進程。以非特權用戶身份登錄後,我能夠使用正確的編碼來初始化數據庫。 – ThinkingMonkey 2012-08-05 08:38:14
忘了它有點挑剔,用可能需要的全套命令更新了答案。 – Eelke 2012-08-05 08:49:27
你好!你有什麼想法爲什麼我會得到:** initdb:無效的區域設置名稱「'en_US.UTF-8'」**?我也試過沒有引號,但後來我得到** initdb:無效的區域設置名稱「en_US.UTF-8」**。我已經下載了Windows的Postgresql9.4.1二進制文件(不是安裝程序)。語言環境en_US.UTF-8在Windows二進制文件中不可用? – 2015-03-16 09:51:12