Windows 10 Fallアップデート(1709)をインストールしましたが、PostgreSQL 9.5サーバーが起動しなくなりました。更新前の昨日は機能していましたが、構成を変更していません。
イベントビューアを確認しましたが、次のエラーメッセージが見つかりました。
2017-10-19 11:32:32 CEST LOG: invalid value for parameter "lc_monetary": "Czech_Czech Republic.1250"
2017-10-19 11:32:32 CEST LOG: invalid value for parameter "lc_numeric": "Czech_Czech Republic.1250"
2017-10-19 11:32:32 CEST LOG: invalid value for parameter "lc_time": "Czech_Czech Republic.1250"
2017-10-19 11:32:32 CEST FATAL: configuration file "C:/Program Files/PostgreSQL/9.5/data/postgresql.conf" contains errors
MicrosoftはFallアップデートでロケール名を変更したようです。利用可能なロケール名のリストが見つからなかったため、Postgres 10をインストールすることに決め、疑いを確認しました、Postgres 10のpostgresql.confは次のようになりました
# These settings are initialized by initdb, but they can be changed.
lc_messages = 'Czech_Czechia.1250' # locale for system error message
# strings
lc_monetary = 'Czech_Czechia.1250' # locale for monetary formatting
lc_numeric = 'Czech_Czechia.1250' # locale for number formatting
lc_time = 'Czech_Czechia.1250' # locale for time formatting
PostgreSQL 9.5サーバーの設定値を「Czech_Czechia.1250」に変更し、問題なく起動しましたが、問題はデータベースに接続できないことです。pgAdminIIIでは次のエラーが表示されます。
データを取り戻す方法はありますか?データベースのロケールが無効になり、接続できないため、ダンプを作成したり、pg_upgradeを実行できません。データベースのロケールを手動で変更する方法はありますか?理論的には、同じエンコーディングに対して名前が異なるだけなので、問題は発生しません。