Windows
從 Ubunu 複製到 Win 10 時,Postgresql 10 中的區域設置不兼容錯誤
我的 Ubuntu PG-10 DB 中可用的語言環境是 en_US.UTF-8。在 Win-10 中對 PG-10 DB 執行 PG_Basebackup 時,Psql 連接失敗並出現錯誤
psql:致命:數據庫區域設置與作業系統不兼容詳細資訊:數據庫使用 LC_COLLATE“en_US.UTF-8”初始化,setlocale() 無法辨識。提示:使用另一個語言環境重新創建數據庫或安裝缺少的語言環境。
Win10 中可用的語言環境是
List of databases Name | Owner | Encoding | Collate | Ctype | -----------+------------+----------+---------+-------+- postgres | postgres | UTF8 | en-US | en-US | List of databases Name | Owner | Encoding | Collate | Ctype | -----------+----------+----------+----------------------------+----------------------------+ postgres | postgres | UTF8 | English_United States.1252 | English_United States.1252 |
但是在進行 Basebackup 時,上述語言環境並未採用。對此問題的任何修復。
您不能在兩個不同的作業系統之間複製數據目錄(這是 pg_basebackup 所做的)。缺少語言環境只是一種症狀。如果您需要在 Linux 和 Windows 之間進行複制,請使用邏輯複製– a_horse_with_no_name
嘗試使用此命令手動設置語言環境
sudo localedef -f CP1252 -i en_US English_United sudo localedef -f CP1252 -i en_US "English_United States.1252"
然後重新啟動您的 postgres 數據庫伺服器