Ваша новая установка 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), и вы восстанавливаете show now work.
person
pbuck
schedule
07.12.2020