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

Łączenie wyników z dwóch oddzielnych baz danych

Według http://wiki.postgresql.org/wiki/FAQ

Nie ma możliwości zapytania innej bazy danych niż bieżąca. Ponieważ PostgreSQL ładuje katalogi systemowe specyficzne dla bazy danych, nie ma pewności, jak powinno się zachowywać zapytanie obejmujące wiele baz danych. contrib/dblink umożliwia zapytania między bazami danych przy użyciu wywołań funkcji. Oczywiście klient może również nawiązywać jednoczesne połączenia z różnymi bazami danych i scalać wyniki po stronie klienta.

EDYTUJ :3 lata później (marzec 2014 r.) ten wpis z najczęściej zadawanymi pytaniami został poprawiony i jest bardziej pomocny:

Jak wykonywać zapytania przy użyciu wielu baz danych?

Nie ma możliwości bezpośredniego odpytywania bazy danych innej niż bieżąca. Ponieważ PostgreSQL ładuje katalogi systemowe specyficzne dla bazy danych, nie ma pewności, jak powinno zachowywać się zapytanie obejmujące wiele baz danych.

Obsługa SQL/MED w PostgreSQL umożliwia tworzenie „obcego opakowania danych”, łączącego tabele w zdalnej bazie danych z lokalną bazą danych. Zdalna baza danych może być inną bazą danych na tej samej instancji PostgreSQL lub bazą danych po drugiej stronie świata. nie ma znaczenia.postgres_fdw jest wbudowany w PostgreSQL 9.3 i zawiera obsługę odczytu/zapisu; wersja tylko do odczytu dla 9.2 może być skompilowana i zainstalowana jako moduł contrib.

contrib/dblink umożliwia zapytania między bazami danych przy użyciu wywołań funkcji i jest dostępny dla znacznie starszych wersji PostgreSQL. W przeciwieństwie do postgres_fdwit nie może „przesłać” warunków na zdalny serwer, więc często pobiera dużo więcej danych niż potrzebujesz.

Oczywiście klient może również nawiązywać jednoczesne połączenia z różnymi bazami danych i łączyć wyniki po stronie klienta.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak timeofday() działa w PostgreSQL

  2. WSTAW wiersze do wielu tabel w jednym zapytaniu, wybierając z zaangażowanej tabeli

  3. Zwróć listę stref czasowych obsługiwanych przez PostgreSQL

  4. Instrukcje IF-THEN-ELSE w postgresql

  5. PRZESUNIĘCIE vs. ROW_NUMBER()