He instalado Windows 10 Fall Update (1709) y ahora mi servidor PostgreSQL 9.5 no se iniciará. Funcionó ayer antes de la actualización y no he realizado ningún cambio en la configuración.
Revisé el visor de eventos y encontré los siguientes mensajes de error:
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 Microsoft cambió el nombre de la configuración regional con Fall Update, no pude encontrar ninguna lista de nombres de configuración regional disponibles, así que decidí instalar Postgres 10 y confirmó mi sospecha, el postgresql.conf en Postgres 10 ahora dice:
# 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
Cambié los valores de configuración para el servidor PostgreSQL 9.5 a 'Czech_Czechia.1250' y comenzó bien, pero el problema es que ahora no puedo conectarme a ninguna base de datos, pgAdmin III me da el siguiente error:
¿Hay alguna manera de recuperar los datos? No puedo crear un volcado o ejecutar pg_upgrade ya que las bases de datos ahora tienen una configuración regional no válida y no puedo conectarme a ellas. ¿Quizás haya una manera de cambiar la configuración regional de la base de datos manualmente? En teoría, no debería causar ningún problema, ya que su único nombre diferente para la misma codificación.