sql >> Databáze >  >> RDS >> PostgreSQL

pg_restore nemohl provést dotaz:CHYBA:neplatný název národního prostředí:en_US.UTF-8

Vaše nová instalace ubuntu ještě nedefinovala národní prostředí en_US.UTF-8. Takže, když se pokoušíte obnovit soubor s výpisem, soubor výpisu se pokusí udělat něco jako:

CREATE DATABASE <database> WITH TEMPLATE = ... LC_COLLATE = 'en_US.UTF-8'...

Ale 'en_US.UTF-8' není definováno vaším novým ubuntu serverem. Nejprve si můžete ověřit toto:

# list all "known" locales. In my case, on new Ubuntu 20, I get:
$ locale -a
C
C.UTF-8
POSIX

Upravit existující /etc/locale.gen soubor, který obsahuje seznam možných lokalit. Většina lokalit bude okomentována. Tyto nebudou definovány , takže odkomentujte řádek s 'en_US.UTF-8'.

Spusťte (jako root) locale-gen.

root# locale-gen
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

Všimněte si, že je to nyní nakonfigurované národní prostředí:

$ locale -a
C
C.UTF-8
POSIX
en_US.utf8

(Ano, je to malá písmena utf8 , není problém)

Restartovat váš postgres server (takže vidí nové národní prostředí - nemusíte restartovat samotný server ubuntu) a obnovíte show, která nyní funguje.



  1. MySQL 5.7.5+ získá první řádek pro skupiny

  2. Název tabulky citlivosti MySQL na velká a malá písmena v systému MacOS se systémem souborů nerozlišujících malá a velká písmena

  3. Nelze okamžitě přijímat více oznámení v Npgsql

  4. Python:MySQLdb a knihovna nejsou načteny:libmysqlclient.16.dylib