प्रासंगिक विकल्प है --locale=locale
initdb . को कमांड जो आपके डेटाबेस क्लस्टर को इनिशियलाइज़ करता है। यदि आप इसे स्पष्ट रूप से आपूर्ति नहीं करते हैं तो यह सिस्टम लोकेल में डिफ़ॉल्ट होता है। (आप शायद अपना उबंटू लोकेल 'सी' पर चलाते हैं।)
यहां उत्कृष्ट मैनुअल में इसके बारे में अधिक पढ़ें ।
PostgreSQL में आप कर सकते हैं अभी भी template0
. से एक नया डेटाबेस आधारित करके अलग-अलग लोकेल वाले डेटाबेस में चुपके से प्रवेश करें डिफ़ॉल्ट के बजाय templeate1
. मैं मैन्युअल यहां
उद्धृत करता हूं :
लेकिन मैं वांछित लोकेल के साथ डेटाबेस क्लस्टर को फिर से बनाना चाहता हूं। बहुत साफ।
संपादित करें:उपलब्ध स्थानों के बारे में जानकारी
आप केवल उपयोग कर सकते हैं ऑपरेटिंग सिस्टम द्वारा प्रदान किए गए स्थान। मैं मैनुअल यहां उद्धृत करता हूं :
locale-gen
देखें एक यूनिक्स-सिस्टम में, यदि आप एक ऐसे लोकेल का उपयोग करना चाहते हैं जो अभी तक उत्पन्न नहीं हुआ है। समझने वाली महत्वपूर्ण बात यह है कि आपके ओएस में कई स्थान स्थापित किए जा सकते हैं, लेकिन उनमें से केवल एक को सिस्टम पैरामीटर जैसे LC_CTYPE
के लिए चुना जा सकता है। , LC_COLLATE
, आदि। locale
. के आउटपुट को देखें बनाम locale -a
खोल में। आमतौर पर यह सभी के लिए समान होता है, LC_ALL
. के माध्यम से सेट किया जाता है ।
@ डेविड:आपने जो किया वह आपकी समस्या का समाधान कर सकता था, लेकिन आप इसे आसान बना सकते थे। साथ ही, ध्यान रखें कि पर्यावरण चर LANG
केवल डिफ़ॉल्ट प्रदान करता है सभी स्थानीय सेटिंग्स के लिए। यदि उनमें से कोई कुछ भिन्न पर सेट है, तो LANG
ओवरराइड किया जाएगा। LC_ALL
सेट करें किसी भी मौजूदा सेटिंग को ओवरराइड करने के लिए। यह रहा एक कई साइटों में से
वेब में आपको इसके बारे में और बता रहा है।
अपने डेटाबेस (क्लस्टर) की सभी मौजूदा लोकेल सेटिंग्स की जाँच करने के लिए, अपने डेटाबेस में चलाएँ:
SHOW ALL;
या अधिक विशेष रूप से:
SELECT *
FROM pg_settings
WHERE name ~~ 'lc%';