sql >> Database teknologi >  >> RDS >> PostgreSQL

Sammenføjning af resultater fra to separate databaser

Ifølge http://wiki.postgresql.org/wiki/FAQ

Der er ingen måde at forespørge på en database end den nuværende. Fordi PostgreSQL indlæser databasespecifikke systemkataloger, er det usikkert, hvordan en krydsdatabaseforespørgsel overhovedet skal opføre sig.contrib/dblink tillader krydsdatabaseforespørgsler ved hjælp af funktionskald. Selvfølgelig kan en klient også lave samtidige forbindelser til forskellige databaser og flette resultaterne på klientsiden.

REDIGER :3 år senere (marts 2014) er denne FAQ-indgang blevet revideret og er mere nyttig:

Hvordan udfører jeg forespørgsler ved hjælp af flere databaser?

Der er ingen måde at forespørge direkte på en anden database end den nuværende. Fordi PostgreSQL indlæser databasespecifikke systemkataloger, er det usikkert, hvordan en krydsdatabaseforespørgsel overhovedet skal opføre sig.

SQL/MED-understøttelsen i PostgreSQL gør det muligt at oprette en "fremmed dataindpakning", der forbinder tabeller i en fjerndatabase til den lokale database. Fjerndatabasen kan være en anden database på den samme PostgreSQLinstance eller en database halvvejs rundt om i verden, den betyder ikke noget.postgres_fdw er indbygget i PostgreSQL 9.3 og inkluderer læse/skriveunderstøttelse; en skrivebeskyttet version til 9.2 kan kompileres og installeres som et bidragsmodul.

contrib/dblink tillader krydsdatabaseforespørgsler ved hjælp af funktionskald og er tilgængelig for meget ældre PostgreSQL-versioner. I modsætning til postgres_fdwit kan ikke "skubbe ned" betingelser til fjernserveren, så den vil ofte lande op og hente meget flere data, end du har brug for.

Selvfølgelig kan en klient også lave samtidige forbindelser til forskellige databaser og flette resultaterne på klientsiden.



  1. Sådan ændres tekst til små bogstaver i SQL

  2. Brug af Oracle JDeveloper 12c med Oracle Database, del 2

  3. Sådan udføres rullende opgraderinger til MySQL

  4. 5 bedste onlinekurser til at lære MySQL