Instalasi ubuntu baru Anda belum menentukan lokal en_US.UTF-8. Jadi, saat Anda mencoba memulihkan file dump, file dump mencoba melakukan sesuatu seperti:
CREATE DATABASE <database> WITH TEMPLATE = ... LC_COLLATE = 'en_US.UTF-8'...
Tapi, 'en_US.UTF-8' tidak ditentukan oleh server ubuntu baru Anda. Pertama, Anda dapat memverifikasi ini:
# list all "known" locales. In my case, on new Ubuntu 20, I get:
$ locale -a
C
C.UTF-8
POSIX
Edit /etc/locale.gen
yang ada file, yang berisi daftar kemungkinan lokal. Sebagian besar lokal akan dikomentari. ini tidak akan ditentukan , jadi, batalkan komentar pada baris dengan 'en_US.UTF-8'.
Jalankan (sebagai root) locale-gen.
root# locale-gen
Generating locales (this might take a while)...
en_US.UTF-8... done
Generation complete.
Perhatikan sekarang ini adalah lokal yang dikonfigurasi:
$ locale -a
C
C.UTF-8
POSIX
en_US.utf8
(Ya, huruf kecil utf8
, tidak masalah)
Mulai ulang server postgres Anda (sehingga ia melihat lokal baru -- Anda tidak perlu me-restart server ubuntu itu sendiri), dan Anda mengembalikan show now work.