Mam CentOs 6.7 zainstalowany na moim serwerze:
bash-4.1# uname -r
2.6.32-573.18.1.el6.x86_64
Po ponownym uruchomieniu serwera mój serwer PostgreSQL 9.6 nie uruchamia się z powodu problemu z ustawieniami regionalnymi.
Oto komunikat o błędzie dziennika: pgstartup.log
< 2017-01-26 16:33:08.115 IST > LOG: invalid value for parameter "lc_messages": "en_US.UTF-8"
< 2017-01-26 16:33:08.123 IST > LOG: invalid value for parameter "lc_monetary": "en_US.UTF-8"
< 2017-01-26 16:33:08.123 IST > LOG: invalid value for parameter "lc_numeric": "en_US.UTF-8"
< 2017-01-26 16:33:08.123 IST > LOG: invalid value for parameter "lc_time": "en_US.UTF-8"
< 2017-01-26 16:33:08.123 IST > FATAL: configuration file "/var/lib/pgsql/9.6/data/postgresql.conf" contains errors
Oczekuje, że w systemie będą dostępne ustawienia regionalne „en_US.UTF-8”. Sprawdziłem i jest rzeczywiście dostępny.
bash-4.1# locale -a | grep en_US
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
en_US
en_US.UTF-8
en_US.iso88591
en_US.iso885915
en_US.utf8
Skomentowałem więc następujące wiersze z pliku postgresql.conf:
#lc_messages = 'en_US.UTF-8' # locale for system error message
# strings
#lc_monetary = 'en_US.UTF-8' # locale for monetary formatting
#lc_numeric = 'en_US.UTF-8' # locale for number formatting
#lc_time = 'en_US.UTF-8' # locale for time formatting
Po skomentowaniu wierszy zgodnie z powyższym, serwer się gapi, ale nie może się zalogować do serwera i płacze następujący błąd:
bash-4.1$ psql
psql: FATAL: database locale is incompatible with operating system
DETAIL: The database was initialized with LC_COLLATE "en_US.UTF-8", which is not recognized by setlocale().
HINT: Recreate the database with another locale or install the missing locale.
Teraz mam ustawienia systemowe wymagane przez postgres, a także jego płacz. Nie wiem, gdzie dokładnie jest problem.
Uwaga: ten problem pojawia się po ponownym uruchomieniu serwera.