Używam PostgreSQL 9.1. Próba wymuszenia kodowania UTF8 jako domyślnego.Co jest nie tak z postgresql initdb? Dlaczego kodowanie "UTF-8" nie jest wymuszane?
To właśnie robię.
service postgresql initdb -E 'UTF-8' --lc-collate='en_US.UTF-8' --lc-ctype=locale='en_US.UTF-8';
Chociaż proces initilization idzie bez problemu,
\l
w wierszu psql
daje tam szczegóły.
List of databases
Name | Owner |Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | LATIN1 | en_US | en_US|
Dlaczego kodowanie UTF-8
nie jest wymuszane?
Masz rację. Chociaż nie mogłem uruchomić 'initdb' bezpośrednio jako superuser. dał 'initdb: nie można uruchomić jako root Proszę się zalogować (używając, np." su ") jako (nieuprzywilejowany) użytkownik, który będzie właścicielem błędu procesu serwera. Po zalogowaniu się jako użytkownik nieuprzywilejowany mogłem zainicjować bazę danych przy użyciu odpowiedniego kodowania. – ThinkingMonkey
Zapomniałem o tym, że jest trochę wybredny, zaktualizowałem odpowiedź za pomocą pełnego zestawu poleceń, które mogą być potrzebne. – Eelke
Cześć chłopaki! Czy masz pojęcie, dlaczego otrzymuję: ** initdb: niepoprawna nazwa lokalizacji "'en_US.UTF-8'" **? Próbowałem również bez cudzysłowów, ale potem otrzymuję ** initdb: niepoprawna nazwa locale "en_US.UTF-8" **. Pobrałem pliki binarne Postgresql9.4.1 (nie instalator) dla systemu Windows. Czy ustawienia regionalne en_US.UTF-8 są niedostępne w plikach binarnych systemu Windows? –