sql >> Databáze >  >> RDS >> PostgreSQL

Spojení výsledků ze dvou samostatných databází

Podle http://wiki.postgresql.org/wiki/FAQ

Neexistuje žádný způsob, jak se dotazovat na jinou databázi než na tu aktuální. Protože PostgreSQL načítá systémové katalogy specifické pro databázi, není jisté, jak by se dotaz mezi databázemi měl vůbec chovat.contrib/dblink umožňuje dotazy mezi databázemi pomocí volání funkcí. Klient může samozřejmě také vytvářet současná připojení k různým databázím a sloučit výsledky na straně klienta.

UPRAVIT :O 3 roky později (březen 2014) byl tento záznam FAQ revidován a je užitečnější:

Jak mohu provádět dotazy pomocí více databází?

Neexistuje žádný způsob, jak přímo dotazovat jinou databázi než aktuální. Protože PostgreSQL načítá systémové katalogy specifické pro databázi, není jisté, jak by se měl dotaz mezi databázemi vůbec chovat.

Podpora SQL/MED v PostgreSQL umožňuje vytvoření „zahraničního datového obalu“ propojujícího tabulky ve vzdálené databázi s místní databází. Vzdálená databáze může být jiná databáze na stejné instanci PostgreSQL nebo databáze na půl cesty kolem světa. nezáleží.postgres_fdw je integrován do PostgreSQL 9.3 a zahrnuje podporu čtení/zápisu; verzi pouze pro čtení pro 9.2 lze zkompilovat a nainstalovat jako modul contrib.

contrib/dblink umožňuje dotazy mezi databázemi pomocí volání funkcí a je k dispozici pro mnohem starší verze PostgreSQL. Na rozdíl od postgres_fdwit nemůže „posunout“ podmínky na vzdálený server, takže často načte mnohem více dat, než potřebujete.

Klient může samozřejmě také vytvářet simultánní připojení k různým databázím a sloučit výsledky na straně klienta.



  1. Procesory AMD EPYC ve virtuálních počítačích Azure

  2. Procesy na pozadí

  3. Rozdělit sloupec do více řádků v Postgresu

  4. Syntaxe SQL SELECT – řazeno podle DBMS