Ho installato l'aggiornamento di Windows 10 Fall (1709) e ora il mio server PostgreSQL 9.5 non si avvia. Ha funzionato ieri prima dell'aggiornamento e non ho apportato modifiche alla configurazione.
Ho controllato il Visualizzatore eventi e ho trovato i seguenti messaggi di errore:
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
Sembra che Microsoft abbia cambiato il nome della locale con l'aggiornamento di Fall, non sono riuscito a trovare alcun elenco di nomi di locali disponibili, quindi ho deciso di installare Postgres 10 e ha confermato il mio sospetto, il postgresql.conf in Postgres 10 ora recita:
# 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
Ho modificato i valori di configurazione per il server PostgreSQL 9.5 in "Czech_Czechia.1250" ed è iniziato bene, ma il problema è che ora non riesco a collegarmi a nessun database, pgAdmin III mi dà il seguente errore:
C'è un modo per recuperare i dati? Non riesco a creare il dump o eseguire pg_upgrade poiché i database ora hanno impostazioni internazionali non valide e non riesco a collegarmi a loro. Forse c'è un modo per modificare manualmente le impostazioni internazionali del database? In teoria, non dovrebbe causare problemi dal momento che il suo unico nome diverso per la stessa codifica.