PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

टेम्पलेट डेटाबेस संग्रह कोडिंग कैसे बदलें

PostgreSQL दस्तावेज़ीकरण से:

<ब्लॉकक्वॉट>

टेम्प्लेट 1 के बजाय टेम्प्लेट 0 की प्रतिलिपि बनाने का एक अन्य सामान्य कारण यह है कि टेम्प्लेट 0 की प्रतिलिपि बनाते समय नई एन्कोडिंग और लोकेल सेटिंग्स को निर्दिष्ट किया जा सकता है, जबकि टेम्प्लेट 1 की एक प्रति को उसी सेटिंग्स का उपयोग करना चाहिए जो वह करता है। ऐसा इसलिए है क्योंकि टेम्प्लेट 1 में एन्कोडिंग-विशिष्ट या स्थानीय-विशिष्ट डेटा हो सकता है, जबकि टेम्प्लेट 0 के बारे में नहीं पता है।

आप केवल template0 . का उपयोग कर सकते हैं विभिन्न एन्कोडिंग और लोकेल के साथ नया डेटाबेस बनाने के लिए:

CREATE DATABASE newdb
WITH OWNER = postgres
   ENCODING = 'UTF8'
   TABLESPACE = pg_default
   LC_COLLATE = 'zh_CN.UTF-8'
   CONNECTION LIMIT = -1
   TEMPLATE template0;

यह काम करेगा, हालांकि इसका मतलब है कि आपने template1 . में जो भी बदलाव किए हैं नव निर्मित डेटाबेस पर लागू नहीं किया जाएगा।

template1 . के एन्कोडिंग और संयोजन को बदलने के लिए आपको सबसे पहले template1 delete को हटाना होगा और फिर नया टेम्पलेट बनाएं template1 template0 . से . टेम्प्लेट डेटाबेस को कैसे छोड़ें यहाँ वर्णित है। फिर आप नया डेटाबेस बना सकते हैं template1 चुने हुए एन्कोडिंग/संयोजन के साथ और datistemplate=true . सेट करके इसे टेम्पलेट के रूप में चिह्नित करें (उदाहरण):

update pg_database set datistemplate=true  where datname='template1';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मूल्यों के प्रति समूह कस्टम सीरियल / ऑटोइनक्रिकमेंट

  2. PostgreSQL में एक स्ट्रिंग और एक संख्या को संयोजित करें

  3. तालिका के रूप में 9.4 jsonb सरणी पोस्टग्रेज करता है

  4. टाइमस्टैम्प के विरुद्ध प्रारंभ और समाप्ति समय के बीच PostgreSQL मिलान अंतराल

  5. MySQL में PostgreSQL का date_trunc