जानकारी स्कीमा धीमी और पक्का तरीका है: यह मानकीकृत और काफी हद तक अन्य डेटाबेस है कि यह समर्थन करने के लिए पोर्टेबल है। और यह प्रमुख संस्करणों में काम करता रहेगा।
हालांकि, सूचना स्कीमा में विचार अक्सर कड़ाई से मानकीकृत प्रारूप को पूरा करने के लिए सिस्टम कैटलॉग से कई तालिकाओं में जुड़ते हैं - जिनमें से अधिकांश समय केवल मृत माल हैं। इससे उनकी गति धीमी हो जाती है ।
पोस्टग्रैज डेवलपर्स वादे नहीं कर रहे हैं, लेकिन मूल बातें (जैसे यहां क्या जरूरी है) प्रमुख संस्करणों में बदलने नहीं जा रहे हैं।
psql
(देशी कमांड-लाइन इंटरफ़ेस), निश्चित रूप से फास्ट लेन को ले जाता है, और स्रोत से सीधे पूछताछ करता है। यदि आप psql
पैरामीटर से-E
शुरू करते हैं , तो SQL बैकस्लैश कमांड जैसे \d
कि प्रदर्शित होता है। या \set ECHO_HIDDEN on
psql कमांड लाइन से। वहां से शुरू करके आप अपने प्रश्न का उत्तर बना सकते हैं।
एक तालिका दी गई, क्या इस तालिका के लिए स्तंभों के नामों की सूची होना संभव है।
SELECT attrelid::regclass AS tbl
, attname AS col
, atttypid::regtype AS datatype
-- more attributes?
FROM pg_attribute
WHERE attrelid = 'myschema.mytable'::regclass -- table name, optionally schema-qualified
AND attnum > 0
AND NOT attisdropped
ORDER BY attnum;
क्वेरी करने कीinformation_schema.columns
तुलना में तेज़ । अपने EXPLAIN ANALYZE
लिए देखने की कोशिश करो । फिर भी मुश्किल से एक बार के लुक-अप के लिए मायने रखता है। लेकिन कई बार दोहराए जाने वाले क्वेरी / फ़ंक्शन में उपयोग किए जाने पर फर्क पड़ सकता है।
दृश्यता में भी सूक्ष्म अंतर हैं। विस्तृत तुलना: