2011-06-23 12 views
92

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

उत्तर

112

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

psql my_database -c 'SHOW SERVER_ENCODING' 

psql के भीतर से

, एक SQL आईडीई या एक API:

SHOW SERVER_ENCODING 
+0

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

26

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

psql -U postgres -h somehost --list 

आप कुछ देखेंगे बात की तरह:

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

एक कार्यक्रम संबंधी समाधान:

SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'yourdb'; 
36

विधि 1:

आप पहले से ही db सर्वर से प्रवेश किया हो, तो बस कॉपी और पेस्ट करें।

SHOW SERVER_ENCODING; 

परिणाम:

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

एन्कोडिंग के लिए क्लाइंट:

SHOW CLIENT_ENCODING; 

विधि 2:

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

\l 
2

tl; डॉ

SELECT character_set_name 
FROM information_schema.character_sets 
; 

स्टैंडर्ड रास्ता: information_schema

हर डेटाबेस/सूची में SQL-standard schemainformation_schema वर्तमान से, character_sets नामित निर्धारित दृश्य का उपयोग करें। यह दृष्टिकोण पोर्टेबल all standard database systems पर पोर्टेबल होना चाहिए।

SELECT * 
FROM information_schema.character_sets 
; 

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

screenshot of pgAdmin 4 with results of query shown above

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

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

0

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

psql -l 

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

संबंधित मुद्दे