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

फायरबर्ड से पोस्टग्रेएसक्यूएल में क्वेरी का अनुवाद

Postgres के पास सिस्टम सामग्री के बारे में जानकारी संग्रहीत करने का एक और तरीका है। इसे सिस्टम कैटलॉग कहा जाता है। ।

फायरबर्ड में आपकी क्वेरी मूल रूप से प्रत्येक स्कीमा में तालिका के प्रत्येक कॉलम के लिए एक अतिरिक्त इंटीजर कॉलम के साथ एक पंक्ति लौटाती है जो फ़ील्ड डेटाटाइप पर मैप करती है।

pg_catalog . में सिस्टम टेबल का उपयोग करके पोस्टग्रेज़ में इस क्वेरी का उपयोग करके कुछ समान स्कीमा प्राप्त किया जा सकता है:

SELECT 
  TRIM(c.relname) AS table_name, TRIM(a.attname) AS column_name, a.atttypid AS field_type
FROM pg_class c
LEFT JOIN pg_attribute a ON 
  c.oid = a.attrelid
  AND a.attnum > 0 -- only ordinary columns, without system ones
WHERE c.relkind = 'r' -- only tables
ORDER BY 1,2

उपरोक्त क्वेरी सिस्टम कैटलॉग भी लौटाती है। अगर आप बहिष्कृत करना चाहते हैं उन्हें आपको pg_namespace . में एक और जॉइन जोड़ने की जरूरत है और जहां pg_namespace.nspname <> 'pg_catalog' के साथ क्लॉज , क्योंकि यह वह स्कीमा है जहां सिस्टम कैटलॉग संग्रहीत किए जाते हैं।

यदि आप उनके प्रतिनिधि संख्याओं के बजाय डेटाटाइप नाम भी देखना चाहते हैं, तो pg_type में एक जॉइन जोड़ें ।

सूचना स्कीमा विचारों का संग्रह शामिल है। ज्यादातर मामलों में आपको संपूर्ण SQL क्वेरी की आवश्यकता नहीं होती है जो दृश्य के पीछे खड़ी होती है, इसलिए सिस्टम टेबल का उपयोग करने से आपको बेहतर प्रदर्शन मिलेगा। हालाँकि, आप व्यू परिभाषा का निरीक्षण कर सकते हैं, बस आपको एक आउटपुट बनाने के लिए उपयोग की जाने वाली तालिकाओं और शर्तों पर आरंभ करने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL के लिए Amazon RDS और Aurora की पेशकशों का अवलोकन

  2. तालिका Grupo Cakephp के लिए FROM-क्लॉज प्रविष्टि गुम है

  3. जावा स्ट्रिंग सेट करने में त्रुटि [] तैयार कथन को पोस्टग्रेज करने के लिए

  4. PostgreSQL में महीने के हिसाब से चयन

  5. टेक्स्ट पर अजीब वर्णों का चयन करें, LIKE ऑपरेटर के साथ काम नहीं कर रहा है