PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wybierz (pobierz) wszystkie rekordy z wielu schematów za pomocą Postgres

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres — funkcja zwracająca przecięcie 2 tablic?

  2. Przechowywanie zaszyfrowanych danych w Postgres

  3. Wyjaśnienie polecenia PostgreSQL VALUES

  4. Jak zwrócić identyfikatory na wkładkach z Ibatis ( ze słowem kluczowym RETURNING )

  5. Optymalizacja zapytań w PostgreSQL. WYJAŚNIJ podstawy – część 2