私の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を実行するときに使用されません。この問題の修正。
2つの異なるオペレーティングシステム間でデータディレクトリ(pg_basebackupが行うこと)をコピーすることはできません。不足しているロケールは1つの症状にすぎません。 LinuxとWindowsの間で複製する必要がある場合は、 論理複製 – a_horse_with_no_name を使用します。