Tôi đã cài đặt bản cập nhật Windows 10 Fall (1709) và bây giờ máy chủ PostgreQuery 9.5 của tôi sẽ không khởi động. Nó đã hoạt động vào ngày hôm qua trước khi cập nhật và tôi chưa thực hiện bất kỳ thay đổi nào đối với cấu hình.
Tôi đã kiểm tra trình xem sự kiện và tìm thấy các thông báo lỗi sau:
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
Có vẻ như Microsoft đã thay đổi tên miền địa phương bằng bản cập nhật Fall, tôi không thể tìm thấy bất kỳ danh sách tên miền địa phương nào có sẵn nên tôi đã quyết định cài đặt Postgres 10 và nó đã xác nhận sự nghi ngờ của tôi, postgresql.conf trong Postgres 10 hiện đọc:
# 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
Tôi đã thay đổi các giá trị cấu hình cho máy chủ PostgreQuery 9.5 thành 'Czech_C817ia.1250' và nó đã bắt đầu ổn, nhưng vấn đề là bây giờ tôi không thể kết nối với bất kỳ cơ sở dữ liệu nào, pgAdmin III gây ra lỗi sau:
Có cách nào để lấy lại dữ liệu không? Tôi không thể tạo kết xuất hoặc chạy pg_upTHER vì cơ sở dữ liệu hiện có ngôn ngữ không hợp lệ và tôi không thể kết nối với chúng. Có lẽ có một cách để thay đổi ngôn ngữ của cơ sở dữ liệu bằng tay? Về lý thuyết, nó không gây ra bất kỳ vấn đề nào vì tên khác nhau của nó cho cùng một mã hóa.