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

मैं sql या phpPgAdmin का उपयोग करके PostgreSQL डेटाबेस के लिए डेटाबेस एन्कोडिंग कैसे बदल सकता हूँ?

संक्षेप में, आप मौजूदा डेटा भ्रष्टाचार को जोखिम में डाले बिना केवल phpPgAdmin या SQL के साथ ऐसा नहीं कर सकते हैं .आपको सभी डेटा निर्यात करना होगा, सही एन्कोडिंग के साथ डेटाबेस बनाना होगा और निर्यात किए गए डेटा को पुनर्स्थापित करना होगा।

आपको इस तरह आगे बढ़ना चाहिए:

  1. डेटाबेस डंप बनाएं :

    pg_dump your_database > your_database.sql

    यह आपके डेटाबेस को वर्तमान में आपके पास मौजूद एन्कोडिंग में sql प्रारूप में सहेज लेगा।

  2. डेटाबेस हटाएं (या इसका नाम बदलें):

    DROP DATABASE your_database

    यदि आपके पास इसे करने के लिए पर्याप्त संग्रहण है, तो मेरा सुझाव है कि आप पुराने डेटाबेस को तब तक छोड़ दें जब तक कि आप यह सुनिश्चित न कर लें कि नए के साथ सब कुछ ठीक है, नाम बदलें यह:

    ALTER DATABASE your_database RENAME TO your_database_backup;

  3. नए एन्कोडिंग के साथ डेटाबेस बनाएं :

    CREATE DATABASE your_database WITH ENCODING 'UNICODE' TEMPLATE=template0;

  4. पहले बनाए गए डंप से डेटा आयात करें :

    PGCLIENTENCODING=YOUR_OLD_ENCODING psql -f your_database.sql your_database

    आपको psql क्लाइंट एन्कोडिंग को पुराने डेटाबेस में सेट करने की आवश्यकता है।

ऑन-द-फ्लाई एन्कोडिंग बदलना संभव नहीं है क्योंकि इसके लिए अधिकांश आंतरिक डेटाबेस डेटा को फिर से लिखना होगा जो मेरे द्वारा वर्णित डीबी तरीके को फिर से बनाने के लगभग बराबर है।

डेटाबेस के बारे में आंतरिक पोस्टग्रेज़ सूचनाओं को बदलना संभव है और इस परिवर्तन के बाद कोई भी नया डेटा सही ढंग से सहेजा जाएगा, हालांकि आपका मौजूदा डेटा दूषित हो सकता है .



  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. समय अंतराल के साथ सीटीई पर धीरे-धीरे बाएं शामिल हों

  3. कॉलम निर्दिष्ट किए बिना SQL INSERT। क्या होता है?

  4. JDBCTemplate BeanPropertyRowMapper के साथ नेस्टेड POJO सेट करें

  5. PostgreSQL में महीने का पहला दिन प्राप्त करें