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%';