Zainstalowałem aktualizację Windows 10 Fall (1709) i teraz mój serwer PostgreSQL 9.5 nie chce się uruchomić. Działało wczoraj przed aktualizacją i nie wprowadziłem żadnych zmian w konfiguracji.
Sprawdziłem przeglądarkę zdarzeń i znalazłem następujące komunikaty o błędach:
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
Wygląda na to, że Microsoft zmienił nazwę ustawień regionalnych wraz z aktualizacją Fall, nie mogłem znaleźć żadnej listy dostępnych nazw ustawień regionalnych, więc zdecydowałem się zainstalować Postgres 10 i potwierdziło to moje podejrzenie, postgresql.conf w Postgres 10 brzmi teraz:
# 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
Zmieniłem wartości konfiguracji dla serwera PostgreSQL 9.5 na „Czech_Czechia.1250” i zaczęło się dobrze, ale problem polega na tym, że teraz nie mogę się połączyć z żadną bazą danych, pgAdmin III wyświetla następujący błąd:
Czy istnieje sposób na odzyskanie danych? Nie mogę utworzyć zrzutu ani uruchomić programu pg_upgrade, ponieważ bazy danych mają teraz nieprawidłowe ustawienia regionalne i nie mogę się z nimi połączyć. Może istnieje sposób na ręczną zmianę ustawień regionalnych bazy danych? Teoretycznie nie powinno to powodować żadnych problemów, ponieważ jest to jedyna inna nazwa dla tego samego kodowania.