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

मैं अजगर का उपयोग करके PostgreSQL OID का अनुवाद कैसे करूं

आप "OID" को text . में बदल सकते हैं केवल कास्टिंग करके - प्रदान किया गया OID (ऑब्जेक्ट आइडेंटिफ़ायर) वास्तव में एक regtype है कोड> (पंजीकृत प्रकारों के लिए OID-उपप्रकार) जैसे आपको फ़ंक्शन pg_typeof()

पोस्टग्रेज सामान्यतः डेटा प्रकार regtype . के मान प्रदर्शित करेगा text . के रूप में उपयोगकर्ता को। उदाहरण:

SELECT pg_typeof('2013-1-1'::date);
 pg_typeof
-----------
 date

जबकि आंतरिक रूप से यह एक OID है:

SELECT pg_typeof('2013-1-1'::date)::oid;
 pg_typeof
-----------
      1082

यदि आपका क्लाइंट ऐसा नहीं करता है तो आप उसे एक स्पष्ट कलाकार के साथ मजबूर कर सकते हैं:

SELECT pg_typeof('2013-1-1'::date)::text;
SELECT 1082::regtype::text;

सिस्टम कैटलॉग से सभी प्रकार के कॉलम प्राप्त करें

यह स्पष्ट नहीं है कैसे आप वास्तव में प्रकारों को पुनः प्राप्त करते हैं। पूरी जानकारी प्राप्त करने के लिए इस प्रश्न पर विचार करें:

SELECT attname
     , atttypid::regtype AS base_type
     , format_type(atttypid, atttypmod) AS full_type
FROM   pg_catalog.pg_attribute
WHERE  attrelid = 'public.tbl'::regclass  -- your table name here
AND    attnum > 0
AND    NOT attisdropped
ORDER  BY attnum;

  attname   |          base_type          |         full_type
------------+-----------------------------+-----------------------------
 age_id     | integer                     | integer
 age        | text                        | text
 ageabk     | character                   | character(2)
 foo        | boolean                     | boolean
 log_up     | timestamp without time zone | timestamp without time zone

ध्यान दें कि format_type(..) संशोधक सहित प्रकार प्रदर्शित करता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlalchemy का उपयोग करके postgresql से कनेक्ट करते समय त्रुटि

  2. PostgreSQL त्रुटि 42501:स्कीमा के लिए अनुमति अस्वीकृत

  3. पायथन फॉर्म ड्रॉप डाउन विकल्प sql द्वारा पॉप्युलेट किया गया है

  4. सक्रिय रिकॉर्ड का उपयोग करके एक नेस्टेड/बहु-स्तरीय पोस्टग्रेज JSON प्रकार पर खोजें

  5. [वीडियो] PostgreSQL में अनुक्रमण की शक्ति