Новата ви инсталация на ubuntu все още не е дефинирала локала en_US.UTF-8. И така, когато се опитвате да възстановите дъмп файла, дъмп файлът се опитва да направи нещо като:
CREATE DATABASE <database> WITH TEMPLATE = ... LC_COLLATE = 'en_US.UTF-8'...
Но 'en_US.UTF-8' не е дефиниран от вашия нов ubuntu сървър. Първо, можете да проверите това:
# list all "known" locales. In my case, on new Ubuntu 20, I get:
$ locale -a
C
C.UTF-8
POSIX
Редактирайте съществуващия /etc/locale.gen
файл, който съдържа списък с възможни локали. Повечето локали ще бъдат коментирани. Те няма да бъдат дефинирани , така че премахнете коментара от реда с 'en_US.UTF-8'.
Изпълнете (като root) locale-gen.
root# locale-gen
Generating locales (this might take a while)...
en_US.UTF-8... done
Generation complete.
Забележете, че сега е конфигуриран локал:
$ locale -a
C
C.UTF-8
POSIX
en_US.utf8
(Да, малки букви са utf8
, не е проблем)
Рестартиране вашия postgres сървър (така че вижда новия локал -- не е необходимо да рестартирате самия сървър на ubuntu) и възстановявате шоуто сега работи.