Uw nieuwe ubuntu-installatie heeft de landinstelling en_US.UTF-8 nog niet gedefinieerd. Dus, wanneer je het dumpbestand probeert te herstellen, probeert het dumpbestand iets te doen als:
CREATE DATABASE <database> WITH TEMPLATE = ... LC_COLLATE = 'en_US.UTF-8'...
Maar 'en_US.UTF-8' wordt niet gedefinieerd door uw nieuwe ubuntu-server. Ten eerste kunt u dit verifiëren:
# list all "known" locales. In my case, on new Ubuntu 20, I get:
$ locale -a
C
C.UTF-8
POSIX
Bewerk bestaande /etc/locale.gen
bestand, dat de lijst met mogelijke landinstellingen bevat. De meeste locaties zullen worden becommentarieerd. Deze worden niet gedefinieerd , dus verwijder commentaar op de regel met 'en_US.UTF-8'.
Voer (als root) locale-gen uit.
root# locale-gen
Generating locales (this might take a while)...
en_US.UTF-8... done
Generation complete.
Merk op dat het nu een geconfigureerde landinstelling is:
$ locale -a
C
C.UTF-8
POSIX
en_US.utf8
(Ja, het is een kleine letter utf8
, geen probleem)
Herstarten uw postgres-server (zodat deze de nieuwe landinstelling ziet - u hoeft de ubuntu-server zelf niet opnieuw op te starten), en u herstelt show now work.