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

Postgres . का उपयोग करके एकाधिक स्कीमा से सभी रिकॉर्ड चुनें (पुनर्प्राप्त करें)

विरासत . के साथ जैसे @ डेनिस ने उल्लेख किया है, यह बहुत आसान होगा। पोस्टग्रेज 8.4 के लिए भी काम करता है। सीमाओं . पर विचार करना सुनिश्चित करें ।

मूल रूप से, आपके पास एक मास्टर टेबल होगा, मुझे लगता है कि एक मास्टर स्कीमा में:

CREATE TABLE master.product (title text);

और विभिन्न स्कीमाटा में अन्य सभी टेबल विरासत में इसमें से, संभवतः अधिक स्थानीय कॉलम जोड़ना:

CREATE TABLE a.product (product_id serial PRIMARY KEY, col2 text)
INHERITS (master.product);

CREATE TABLE b.product (product_id serial PRIMARY KEY, col2 text, col3 text)
INHERITS (master.product);

आदि.

तालिकाओं को समान नाम या स्कीमा साझा करने की आवश्यकता नहीं है।
फिर आप सभी तालिकाओं से पूछताछ कर सकते हैं एक ही झटके में:

SELECT title, tableoid::regclass::text AS source
FROM   master.product
WHERE  title ILIKE '%test%';

tableoid::regclass::text ?
यह प्रत्येक पंक्ति का स्रोत बताने का एक आसान तरीका है। विवरण:

  • पता लगाएं कि तालिका मानों के आधार पर कौन सा स्कीमा है

एसक्यूएल फिडल.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पायथन में प्रक्रियाओं में डीबी पोस्टग्रेज करने के लिए कनेक्शन साझा करें

  2. PostgreSQL के लिए Percona वितरण की निगरानी - प्रमुख मेट्रिक्स

  3. तालिका के अंत में NULL मानों को क्रमबद्ध करें

  4. प्रमाणीकरण प्रकार 10 के कारण पोस्टग्रेज़ डीबी से कनेक्ट करने में असमर्थ समर्थित नहीं है

  5. Postgres . का उपयोग करके एकाधिक स्कीमा से सभी रिकॉर्ड चुनें (पुनर्प्राप्त करें)