Postgres डेटाबेस की एन्कोडिंग प्राप्त करना


141

मेरे पास एक डेटाबेस है, और मुझे डेटाबेस के लिए डिफ़ॉल्ट एन्कोडिंग जानने की आवश्यकता है। मैं इसे कमांड लाइन से प्राप्त करना चाहता हूं।

जवाबों:


175

कमांड लाइन से:

psql my_database -c 'SHOW SERVER_ENCODING'

भीतर से psql, एक SQL आईडीई या एक एपीआई:

SHOW SERVER_ENCODING

प्रश्न में पूछे जाने वाले डेटाबेस / कैटलॉग-स्तरीय सेटिंग के बजाय सर्वर-स्तर सेटिंग (नए बनाए गए डेटाबेस के लिए उपयोग किया गया डिफ़ॉल्ट) नहीं है?
बासिल बोर्के

4
ध्यान दें कि psql के भीतर से, अंत में एक अर्धविराम होना चाहिए। अर्थात SHOW SERVER_ENCODING;
जॉन बर्नहार्ट

49

विधि 1:

यदि आप पहले से ही db सर्वर पर लॉग इन हैं, तो बस इसे कॉपी और पेस्ट करें।

SHOW SERVER_ENCODING;

परिणाम:

  server_encoding 
-----------------  
UTF8

ग्राहक एन्कोडिंग के लिए:

 SHOW CLIENT_ENCODING;

विधि 2:

फिर से यदि आप पहले से लॉग इन हैं, तो सूची आधारित परिणाम प्राप्त करने के लिए इसका उपयोग करें

\l 


32

यदि आप डेटाबेस एनकोडिंग प्राप्त करना चाहते हैं:

psql  -U postgres -h somehost --list

आप कुछ इस तरह देखेंगे:

List of databases
           Name         |  Owner   | Encoding
------------------------+----------+----------
db1                     | postgres | UTF8

12

क्योंकि एक बिल्ली की त्वचा के लिए एक से अधिक तरीके हैं:

psql -l

सभी डेटाबेस के नाम, एन्कोडिंग और बहुत कुछ दिखाता है।


5

tl; डॉ

SELECT character_set_name 
FROM information_schema.character_sets 
;

मानक तरीका: information_schema

से एसक्यूएल मानक स्कीमा information_schema हर डेटाबेस / सूची में मौजूद है, नामित परिभाषित दृश्य का उपयोग character_sets। यह दृष्टिकोण सभी मानक डेटाबेस प्रणालियों में पोर्टेबल होना चाहिए ।

SELECT * 
FROM information_schema.character_sets 
;

नाम बहुवचन होने के बावजूद, यह केवल एक पंक्ति दिखाता है, जो वर्तमान डेटाबेस / कैटलॉग पर रिपोर्टिंग करता है।

ऊपर दिखाए गए क्वेरी के परिणामों के साथ pgAdmin 4 का स्क्रीनशॉट

तीसरा स्तंभ है character_set_name:

वर्ण सेट का नाम, वर्तमान में डेटाबेस एन्कोडिंग के नाम को दिखाने के रूप में लागू किया गया है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.