2017-07-07 1 views
0

Wenn der PostgreSQL-Datenbankserver die Abfrage erhält, wie findet er den zugehörigen Fremddatenwrapper zum Auflösen der Abfrage? Was macht ein ausländischer Server?Fremdtabelle, Fremdserver und Fremddatenwrapper: Wie kommunizieren sie?

Ich möchte die Reihenfolge der Nachrichten wissen, die passiert, wenn der Datenbankserver eine Abfrage auf fremde Tabelle bekommt?

enter image description here

+1

Sie suchen nach etwas Low-Level-C-Zeug oder nur etwas Grundlegendes wie: _Query Punkte an -> Fremdtabelle -> Punkte an -> Fremdserver -> beschreibt Remote-Host und was fdw zu verwenden_ –

Antwort

1

Lassen Sie uns die Terminologie klären.

  • A Fremddaten wrapper ist ein Objekt, das Code für die Kommunikation mit einer externen Datenquelle umschließt.

  • A fremder Server ist ein Objekt, das angibt, wie eine bestimmte externe Datenquelle zu lokalisieren. Es gehört zu einem fremden Daten Wrapper.

  • Eine Benutzerzuordnung ist ein Objekt, das Anmeldeinformationen zum Authentifizieren mit einer externen Datenquelle enthält. Es gehört zu einem fremden Server und einem Datenbankbenutzer.

  • Eine Fremdtabelle ist ein Objekt, das ein Objekt beschreibt, das Daten in einer externen Datenquelle enthält. Es gehört zu einem fremden Server.

Also, wenn ein Benutzer eine Fremdtabelle zuzugreifen versucht, weiß, PostgreSQL, wie die Datenquelle zu erreichen (über den Fremdserver, der auf den Tisch gehört), wie (über die Benutzerzuordnung) zu authentifizieren und welche Funktionen zu verwenden, um diese Verbindung durchzuführen und Daten auszutauschen (über den Fremddatenwrapper).

Die meisten Fremddaten-Wrapper benötigen keine Verbindung zur entfernten Datenquelle für die Abfrageplanung, aber wenn Daten abgerufen oder gesendet werden, wird eine Verbindung hergestellt.

Je nach Fremddaten-Wrapper wird eine solche Verbindung geschlossen, wenn die Abfrage für die gesamte Lebensdauer der Datenbanksitzung beendet oder zwischengespeichert wird.

Verwandte Themen