sql >> Database >  >> RDS >> PostgreSQL

Resultaten uit twee afzonderlijke databases samenvoegen

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

Er is geen andere manier om een ​​database te bevragen dan de huidige. Omdat PostgreSQL database-specifieke systeemcatalogi laadt, is het niet zeker hoe een cross-database query zich zelfs zou moeten gedragen.contrib/dblink staat cross-database queries toe met behulp van functieaanroepen. Natuurlijk kan een client ook gelijktijdig verbindingen maken met verschillende databases en de resultaten aan de clientzijde samenvoegen.

BEWERKEN :3 jaar later (maart 2014) is dit artikel met veelgestelde vragen herzien en is het nuttiger:

Hoe voer ik zoekopdrachten uit met meerdere databases?

Er is geen manier om direct een andere database te doorzoeken dan de huidige. Omdat PostgreSQL databasespecifieke systeemcatalogi laadt, is het niet zeker hoe een cross-databasequery zich zou moeten gedragen.

Dankzij de SQL/MED-ondersteuning in PostgreSQL kan een "buitenlandse data-wrapper" worden gemaakt, waarmee tabellen in een externe database worden gekoppeld aan de lokale database. De externe database kan een andere database zijn op dezelfde PostgreSQLinstance, of een database halverwege de wereld, maakt niet uit.postgres_fdw is ingebouwd in PostgreSQL 9.3 en bevat ondersteuning voor lezen/schrijven; een alleen-lezen versie voor 9.2 kan worden gecompileerd en geïnstalleerd als een contrib-module.

contrib/dblink maakt query's tussen databases mogelijk met behulp van functieaanroepen en is beschikbaar voor veel oudere PostgreSQL-versies. In tegenstelling tot postgres_fdwit kan het geen voorwaarden naar de externe server "duwen", dus het zal vaak leiden tot het ophalen van veel meer gegevens dan je nodig hebt.

Natuurlijk kan een client ook gelijktijdig verbindingen maken met verschillende databases en de resultaten aan de clientzijde samenvoegen.



  1. Records tussen 2 datums ophalen in MySQL

  2. Beperk PostgreSQL-gebruikerstoegang met behulp van schema en weergaven

  3. Lijst<> doorgeven aan SQL Stored Procedure

  4. varbinary naar string op SQL Server