Twoja nowa instalacja Ubuntu nie ma jeszcze zdefiniowanej lokalizacji en_US.UTF-8. Tak więc, gdy próbujesz przywrócić plik zrzutu, plik zrzutu próbuje zrobić coś takiego:
CREATE DATABASE <database> WITH TEMPLATE = ... LC_COLLATE = 'en_US.UTF-8'...
Ale „en_US.UTF-8” nie jest zdefiniowany przez twój nowy serwer ubuntu. Najpierw możesz to zweryfikować:
# list all "known" locales. In my case, on new Ubuntu 20, I get:
$ locale -a
C
C.UTF-8
POSIX
Edytuj istniejący /etc/locale.gen
plik, który zawiera listę możliwych lokalizacji. Większość lokalizacji zostanie wykomentowanych. Te nie zostaną zdefiniowane , więc odkomentuj linię za pomocą 'en_US.UTF-8'.
Uruchom (jako root) locale-gen.
root# locale-gen
Generating locales (this might take a while)...
en_US.UTF-8... done
Generation complete.
Zauważ, że jest to teraz skonfigurowany język:
$ locale -a
C
C.UTF-8
POSIX
en_US.utf8
(Tak, małe litery utf8
, to nie problem)
Uruchom ponownie twój serwer postgres (więc widzi nowe ustawienia regionalne -- nie musisz restartować samego serwera ubuntu) i przywracasz show teraz działa.