Heim > Datenbank > MySQL-Tutorial > Wie kann ich datenbankübergreifende Abfragen in PostgreSQL durchführen?

Wie kann ich datenbankübergreifende Abfragen in PostgreSQL durchführen?

Patricia Arquette
Freigeben: 2025-01-12 10:56:43
Original
434 Leute haben es durchsucht

How Can I Perform Cross-Database Queries in PostgreSQL?

Aktivieren datenbankübergreifender Abfragen in PostgreSQL

Während PostgreSQL auf den ersten Blick datenbankübergreifende Abfragen einzuschränken scheint, gibt es eine praktische Lösung. Das postgres_fdw-Modul (Foreign Data Wrapper) bietet die notwendige Funktionalität, um eine Verbindung zu verschiedenen PostgreSQL-Datenbanken herzustellen und diese abzufragen, unabhängig von deren Standort (lokal oder remote).

Wichtige Überlegung: Bevor Sie datenbankübergreifende Abfragen auf einem einzelnen Computer implementieren, sollten Sie sich mit der Verwendung von Schemata vertraut machen. Schemas bieten einen einfacheren Ansatz für die Abfrage verschiedener Datensätze, ohne dass eine zusätzliche Konfiguration erforderlich ist.

postgres_fdwKompatibilität:

Das Modul postgres_fdw ist mit den PostgreSQL-Versionen 9.3 und höher kompatibel. Für Versionen vor 9.3 bietet die Funktion dblink eine vergleichbare Lösung.

Implementierungsschritte:

Um postgres_fdw für datenbankübergreifende Abfragen zu nutzen:

  1. Erstellen Sie einen Fremddaten-Wrapper:Erstellen Sie einen Fremddaten-Wrapper für die Zieldatenbank:
CREATE FOREIGN DATA WRAPPER postgres_fdw OPTIONS (
    host 'hostname',
    port '5432',    -- Standard PostgreSQL port
    dbname 'target_database'
);
Nach dem Login kopieren
  1. Definieren Sie einen fremden Server: Erstellen Sie einen fremden Server, der eine Verbindung zur Zieldatenbank herstellt:
CREATE SERVER target_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (
    user 'username',
    password 'password'
);
Nach dem Login kopieren
  1. Benutzerzugriff zuordnen: Erstellen Sie eine Benutzerzuordnung, die dem aktuellen Benutzer Zugriff auf die Zieldatenbank gewährt:
CREATE USER MAPPING FOR current_user SERVER target_server OPTIONS (
    user 'target_user',
    password 'target_password'
);
Nach dem Login kopieren
  1. Fremdtabelle importieren:Importieren Sie die gewünschte Tabelle (oder das gewünschte Schema) in Ihre aktuelle Datenbank:
IMPORT FOREIGN SCHEMA all FROM SERVER target_server INTO schema_name;
Nach dem Login kopieren
  1. Fragen Sie die importierte Tabelle ab: Fragen Sie nun die importierte Tabelle ab, als wäre es eine lokale Tabelle:
SELECT * FROM schema_name.target_table;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich datenbankübergreifende Abfragen in PostgreSQL durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage