Z dziedziczeniem jak wspomniał @Denis, byłoby to bardzo proste. Działa również z Postgresem 8.4. Pamiętaj, aby wziąć pod uwagę ograniczenia .
Zasadniczo miałbyś tabelę główną, przypuszczam, że w schemacie głównym:
CREATE TABLE master.product (title text);
I wszystkie inne tabele w różnych schematach dziedziczą z niego, prawdopodobnie dodając więcej lokalnych kolumn:
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);
itp.
Tabele nie muszą mieć tej samej nazwy ani schematu.
Następnie możesz zapytać o wszystkie tabele za jednym zamachem:
SELECT title, tableoid::regclass::text AS source
FROM master.product
WHERE title ILIKE '%test%';
tableoid::regclass::text
?
To wygodny sposób na określenie źródła każdego wiersza. Szczegóły:
- Dowiedz się, który schemat na podstawie wartości tabeli
Skrzypce SQL.