Ich habe das Windows 10 Fall-Update (1709) installiert und jetzt startet mein PostgreSQL 9.5-Server nicht mehr. Es hat gestern vor dem Update funktioniert und ich habe keine Änderungen an der Konfiguration vorgenommen.
Ich habe die Ereignisanzeige überprüft und folgende Fehlermeldungen gefunden:
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 hat anscheinend den Namen des Gebietsschemas mit dem Herbstupdate geändert. Ich konnte keine Liste der verfügbaren Gebietsschemas finden, daher habe ich mich für die Installation von Postgres 10 entschieden. Dies bestätigte meinen Verdacht, dass die postgresql.conf in Postgres 10 nun lautet:
# 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
Ich habe die Konfigurationswerte für den PostgreSQL 9.5-Server in 'Czech_Czechia.1250' geändert und es wurde ordnungsgemäß gestartet. Das Problem ist jedoch, dass ich jetzt keine Verbindung zu einer Datenbank herstellen kann. PgAdmin III gibt folgende Fehlermeldung aus:
Gibt es eine Möglichkeit, die Daten zurückzugewinnen? Ich kann kein Dump erstellen oder pg_upgrade ausführen, da die Datenbanken jetzt ein ungültiges Gebietsschema haben und ich keine Verbindung zu ihnen herstellen kann. Vielleicht gibt es eine Möglichkeit, das Gebietsschema der Datenbank manuell zu ändern? Theoretisch sollte es keine Probleme verursachen, da es nur einen anderen Namen für dieselbe Codierung gibt.