आपके नए 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
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
, कोई समस्या नहीं)
पुनरारंभ करें आपका सर्वर पोस्टग्रेज करता है (इसलिए यह नया लोकेल देखता है - आपको स्वयं ubuntu सर्वर को पुनरारंभ करने की आवश्यकता नहीं है), और आप शो नाउ वर्क को पुनर्स्थापित करते हैं।