Instalei a atualização de outono do Windows 10 (1709) e agora meu servidor PostgreSQL 9.5 não será iniciado. Funcionou ontem antes da atualização e não fiz alterações na configuração.
Verifiquei o visualizador de eventos e encontrei as seguintes mensagens de erro:
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
Parece que a Microsoft mudou o nome da localidade com a atualização de outono, não consegui encontrar nenhuma lista de nomes de localidades disponíveis, então decidi instalar o Postgres 10 e confirmou minha suspeita, o postgresql.conf no Postgres 10 agora diz:
# 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
Alterei os valores de configuração do servidor PostgreSQL 9.5 para 'Czech_Czechia.1250' e tudo começou bem, mas o problema é que agora não consigo me conectar a nenhum banco de dados, o pgAdmin III me dá o seguinte erro:
Existe uma maneira de recuperar os dados? Não consigo criar dump ou executar pg_upgrade, já que os bancos de dados agora possuem localidade inválida e não consigo conectar-me a eles. Talvez haja uma maneira de alterar o local do banco de dados manualmente? Em teoria, isso não deve causar problemas, pois seu único nome diferente para a mesma codificação.