विरासत . के साथ जैसे @ डेनिस ने उल्लेख किया है, यह बहुत आसान होगा। पोस्टग्रेज 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
?
यह प्रत्येक पंक्ति का स्रोत बताने का एक आसान तरीका है। विवरण:
- पता लगाएं कि तालिका मानों के आधार पर कौन सा स्कीमा है
एसक्यूएल फिडल.