Heim >Datenbank >MySQL-Tutorial >Wie kann ich verschiedene PostgreSQL-Datenbanken abfragen?
PostgreSQL selbst unterstützt datenbankübergreifende Abfragen nicht nativ, wie aus der Fehlermeldung hervorgeht, es sind jedoch einige Problemumgehungen verfügbar. Eine Möglichkeit besteht darin, die Erweiterung postgres_fdw
zu verwenden.
postgres_fdw
(Fremddaten-Wrapper) ermöglicht Ihnen die Verbindung zu einer Tabelle in jeder PostgreSQL-Datenbank, unabhängig von deren Speicherort. Um diese Erweiterung zu verwenden:
Stellen Sie sicher, dass Ihre Version von Postgres postgres_fdw
unterstützt (v9.3 oder höher empfohlen).
Installieren Sie die Erweiterung postgres_fdw
in jeder Datenbank, in der Sie datenbankübergreifende Abfragen durchführen möchten.
Erstellen Sie eine externe Server- und Benutzerzuordnung:
<code class="language-sql"> postgres=# CREATE SERVER foreign_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'remote_host', port '5432'); postgres=# CREATE USER MAPPING FOR CURRENT_USER SERVER foreign_server OPTIONS (user 'remote_user', password 'remote_password');</code>
Externe Tabelle erstellen:
<code class="language-sql"> postgres=# CREATE FOREIGN TABLE cross_db_table SERVER foreign_server OPTIONS (table_name 'remote_table');</code>
Für Postgres-Versionen vor 9.3 können Sie eine Funktion namens dblink
verwenden, um datenbankübergreifende Abfragen durchzuführen. Obwohl es zusammen mit PostgreSQL verwaltet und verteilt wird, unterscheidet sich seine Verwendung von postgres_fdw
. Weitere Informationen zu dblink
finden Sie in der PostgreSQL-Dokumentation.
Das obige ist der detaillierte Inhalt vonWie kann ich verschiedene PostgreSQL-Datenbanken abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!