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

Postgres 9.1 में किसी तालिका का OID निर्धारित करना?

OID तालिका प्राप्त करने के लिए, ऑब्जेक्ट आइडेंटिफ़ायर टाइप करें regclass (उसी DB से कनेक्ट होने पर):

SELECT 'mytbl'::regclass::oid;

यह search_path के साथ दिए गए नाम के साथ पहली तालिका (या दृश्य, आदि) ढूंढता है या नहीं मिलने पर अपवाद उठाता है।

खोज पथ पर निर्भरता को दूर करने के लिए स्कीमा-योग्य तालिका नाम:

SELECT 'myschema.mytbl'::regclass::oid;

पोस्टग्रेज में 9.4 या बाद में आप to_regclass('myschema.mytbl') . का भी उपयोग कर सकते हैं , जो तालिका नहीं मिलने पर अपवाद नहीं उठाता:

  • किसी दिए गए स्कीमा में तालिका मौजूद है या नहीं, इसकी जांच कैसे करें

फिर आपको केवल कैटलॉग तालिका pg_attribute . को क्वेरी करने की आवश्यकता है स्तंभ के अस्तित्व के लिए:

SELECT TRUE AS col_exists
FROM   pg_attribute 
WHERE  attrelid = 'myschema.mytbl'::regclass
AND    attname  = 'mycol'
AND    NOT attisdropped  -- no dropped (dead) columns
-- AND attnum > 0        -- no system columns (you may or may not want this)


  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 9.2.1 को हाइबरनेट से जोड़ना

  2. LOWER () - PostgreSQL में लोअरकेस में कनवर्ट करें

  3. पोस्टग्रेज में एक टेबल (इंडेक्स सहित) कॉपी करें

  4. कुछ कॉलम द्वारा ऑर्डर की गई पंक्तियों का चयन करना और दूसरे पर अलग करना

  5. PostgreSQL - JSONB सरणी के प्रत्येक ऑब्जेक्ट में कुंजी जोड़ें