Relevantní volba je --locale=locale do initdb příkaz, který inicializuje váš databázový cluster. Pokud jej nezadáte explicitně, použije se výchozí národní prostředí systému. (Pravděpodobně používáte Ubuntu v národním prostředí 'C'.)
Přečtěte si více o tom ve skvělé příručce zde .
V PostgreSQL můžete stále se vplížit do databáze s jiným národním prostředím tím, že novou databázi založíte na template0 místo výchozího templeate1 . Cituji příručku zde
:
Ale raději bych znovu vytvořil klastr databáze s požadovaným národním prostředím. Mnohem čistší.
Upravit:informace o dostupných lokalitách
Můžete pouze použít národní prostředí, které poskytuje operační systém. Cituji příručku zde :
Podívejte se na locale-gen v unixovém systému, pokud chcete použít národní prostředí, které ještě nebylo vygenerováno. Důležité je pochopit, že do vašeho operačního systému lze nainstalovat více národních prostředí, ale pouze jedno z nich lze vybrat pro systémové parametry, jako je LC_CTYPE , LC_COLLATE , atd. Podívejte se na výstup locale versus locale -a ve skořápce. Obvykle je to stejné pro všechny, nastavuje se pomocí LC_ALL .
@David:To, co jsi udělal, tvůj problém možná vyřešilo, ale mohl jsi to mít jednodušší. Uvědomte si také, že proměnná prostředí LANG poskytuje pouze výchozí pro všechna nastavení národního prostředí. Pokud je některý z nich nastaven na něco jiného, LANG bude přepsáno. Nastavte LC_ALL přepsat jakékoli stávající nastavení. Zde je jeden z mnoha webů
na webu, kde se o tom dozvíte více.
Chcete-li zkontrolovat všechna aktuální nastavení národního prostředí vaší databáze (klastru), spusťte ve vaší databázi:
SHOW ALL;
Nebo přesněji:
SELECT *
FROM pg_settings
WHERE name ~~ 'lc%';