Postgres dblink Beispiel

Postgres dblink Beispiel

In diesem Artikel werden wir uns mit der "DBLINK" -Weiterung von Postgresql befassen. Der „DBlink“ wird verwendet, wenn wir aus anderen Datenbanken in einer Datenbanksitzung auf Tabellen und Ansichten zugreifen müssen. Wenn wir also zwei Datenbanken haben, mit denen wir verknüpft werden möchten, muss eine Datenbank zur DBLINK -Erweiterung hinzugefügt und in der anderen aufgerufen werden. Wir werden uns befassen, die DBLink -Erweiterung in unseren Datenbanken einzustellen und zwei Datenbanken mit dieser Erweiterung in der PostgreSQL -Umgebung zu verknüpfen. Danach werden wir den Link testen, indem wir einige Abfragen in der Datenbank ausführen.

Die Syntax für DBlink in PostgreSQL:

Die Syntax für die Verwendung von DBlink in PostgreSQL wird unten erwähnt:

# DBlink ("Name der Verbindung", "SQL -Abfrage");

Die DBlink -Abfrage nimmt zwei Parameter an. Im ersten Parameter müssen wir den Namen der Verbindung angeben, auf der der DBlink erstellt wird. Im zweiten Parameter müssen wir jede Abfrage schreiben, um die an diesem Link vorhandenen Daten auszuführen. Die DBlink -Erweiterung wird häufig mit der Abfrage „Select“ verwendet, obwohl andere Abfragen zum Abrufen oder Ändern von Daten auf der DBLINK -Verbindung verwendet werden können.

Nachdem wir uns mit der Arbeit der DBlink -Erweiterung in Postgres vertraut machen, können wir uns darauf freuen, dieses Konzept in der Postgresql -Umgebung zu implementieren.

Erstellen von „DBLINK“ -Kinneken zwischen zwei Datenbanken in PostgreSQL:

Wie wir wissen, ermöglicht PostgreSQL zwei Datenbanken über die Erweiterung „DBlink“ aus der Ferne, aber es gibt mehrere Protokolle, die befolgt werden müssen, damit dies erfolgreich ausgeführt werden muss. Jetzt werden wir diese Protokolle diskutieren und einen detaillierten Leitfaden zur Ausführung dieses Konzepts anbieten.

Zunächst müssen wir als Superuser in der PostgreSQL -Umgebung angemeldet sein. Um einen Superuser zu machen, können wir die folgende Abfrage verwenden:

# Benutzer erstellen "Name des Benutzers einfügen" Superuser;

Und wenn Sie einen Superuser mit einem Passwort wünschen, können Sie diese Abfrage verwenden:

# Benutzer erstellen "Name des Benutzers einfügen" Superuser mit Passwort 'password_string';

Anschließend erstellen wir zwei Datenbanken in der PostgreSQL -Umgebung, die wir für den Zugriff durch die Erweiterung „DBlink“ verwenden werden.

# Datenbank erstellen DB1;

Die obige Abfrage erstellt eine Datenbank mit dem Namen "DB1" in unserer Umgebung.

# Datenbank erstellen DB2;

Die obige Abfrage erstellt eine zweite Datenbank mit dem Namen "DB2" in unserer Umgebung.

Wir können diese Datenbanken auch anzeigen und zugreifen, indem wir in das linke Menü des Pgadmin-Fensters schauen. Wenn wir zwei Datenbanken erfolgreich erstellt haben, erstellen wir eine Tabelle in unserer Datenbank „DB1“ und füllen sie mit Werten aus, die wir in der zweiten Datenbank verwenden werden.

Erstellen Sie Tabellen Mitarbeiter
(
Emp_id int,
EMP_NAME VARCHAR
);
In den Mitarbeiter einfügen
WERTE
(1, 'Harry'),
(2, 'James'),
(3, 'John'),
(4, 'Alex');

Die obige Syntax hilft beim Erstellen einer Tabelle und beim Einfügen von Werten in die Tabellen in unserer Datenbank „DB1“.

Anwenden der Erweiterung der „DBLINK“ in die Datenbank:

Wir haben eine Tabelle erstellt und Werte darin eingefügt. Jetzt werden wir zu unserer zweiten Datenbank, "DB2", in die wir diese Tabelle anrufen werden. Hier freuen wir uns auf die Anwendung einer "DBLINK" -Einweiterung in unserer Datenbank. Wir werden die folgende Anfrage dafür verwenden:

# Erweiterung erstellen DBLINK;

Dadurch kann die Datenbank die PostgreSQL -Erweiterung "DBlink" verwenden, um auf die Funktionen der Datenbank zuzugreifen. Bevor wir uns weiterentwickeln, müssen wir die Verbindung zwischen unseren Datenbanken überprüfen. Dafür schreiben wir die folgende Abfrage:

# Wählen Sie dblink_connect ('host = localhost user = aqsayasin password = 12345 dbname = db1');

In der obigen Abfrage ändert sich der Name des Benutzers und des Kennworts entsprechend dem Namen und dem Passwort des Superusers, den Sie zuvor eingerichtet haben, zusammen mit dem Namen der Datenbank, mit der Sie die Verbindung überprüfen möchten. Sobald dies sortiert ist, führen Sie die Abfrage aus, und wenn die Verbindung erfolgreich ist, gibt sie diese Ausgabe an:

Falls es fehlschlägt oder eine Ausnahme ausführt, müssen Sie die Abfrage für den richtigen Benutzernamen und das richtige Passwort erneut überprüfen.

Dblink mit fremden Datenverpackungen:

Fremde Datenverpacker können einen Remote -Fremdserver deutlich definieren, um auf andere Daten zuzugreifen. Danach können wir uns auf die Erstellung einer Fremddaten-Wrapper in unserer Datenbank bewegen. Wir können einen Fremddaten-Wrapper mit zwei Methoden erstellen und mit DBLINK mithilfe von Fremddaten-Wrappern in PostgreSQL auf die Datenbank zugreifen:

Erstellen Sie fremde Datenverpackungen mit Abfrage:

Der Fremddaten-Wrapper wird mit dem angehängten Befehl unten auf diese Weise erstellt.

Erstellen Sie fremde Datenverpackungen mit der Option Browser -Menü:

Auf der linken Seite des Pgadmin -Fensters finden wir das Browsermenü mit jeder Entität, einschließlich Servern, Datenbanken und Benutzern. In diesem Menü müssen wir unsere Datenbank finden, in der wir den Fremddaten-Wrapper erstellen müssen.

Nachdem wir die Datenbank ausgewählt haben, müssen wir die Option mit der Bezeichnung "Fremddatenverpackungen" suchen und mit der rechten Maustaste darauf klicken.

Wählen Sie die Optionen "Erstellen" und "Fremddaten ..." aus.

Dadurch wird ein Fenster mit dem Titel ”erstellen - Fremddatenwrapper“ geöffnet.

Füllen Sie den Namen des Fremddatenwrappers aus und wählen Sie den entsprechenden Benutzer aus. Sie können nun die Informationen speichern und eine Fremddaten-Wrapper erstellen.

Nachdem wir eine Fremddatenwrapper erstellt haben, müssen wir einen Server dafür erstellen. Zu diesem Zweck können wir eine Abfrage „Server erstellen“ verwenden, wie unten angegeben:

# Create Server1 -Fremdedaten -Wrapper FD1 -Optionen (HostAddr 'ip_address', dbname 'db1');

Oder wir können einfach unseren Fremddatenwrapper im Browsermenü auf der linken Seite des Fensters suchen und mit der rechten Maustast.

Dies führt Sie zum Fenster "Erstellen - Fremdserver".

Nennen Sie den Server, wählen Sie den Benutzer aus der Liste in den Eingangsfeldern aus und speichern Sie ihn, um Ihrem Fremddatenwrapp einen Fremdserver hinzuzufügen. Da wir einen Fremdserver erfolgreich erstellt haben, müssen wir eine Karte für den zuvor erstellten Superbenutzer erstellen. Für diese Aufgabe werden wir die angegebene Abfrage verwenden:

# Benutzerzuordnung für aqsayasin server1 -Optionen erstellen (Benutzer 'AQSAYAIN', Kennwort '12345');

Der Benutzername muss genau sein, um dies auszuführen, und der andere Benutzer, den wir zuordnen, kann sich entsprechend der Situation ändern. Wenn dies korrekt behandelt wird, ist die Ausgabe wie folgt:

Das obige Ergebnis bestätigt, dass wir eine Benutzerzuordnung erstellt haben.

Zugriff auf Datenbanken mit DBlink mithilfe von Fremddatenwrapper in PostgreSQL:

Wie Sie erfolgreich eine Benutzerzuordnung gebildet haben. Wir können jetzt den DBlink von diesem Server verwenden, um auf unsere erste Datenbank zuzugreifen. Wir werden die "EMP_ID" und den "EMP_NAME" aus der Tabelle, die wir in unserer ersten Datenbank erstellt haben, mithilfe dieser Abfrage anzeigen:

# Auswählen * aus dblink ('server1', 'Select EMP_ID, EMP_NAME vom Mitarbeiter')
Als Daten (emp_id int, emp_name varchar);

Diese Abfrage nach der Ausführung zeigt den angegebenen Inhalt der Tabelle wie unten gezeigt an:

Wie Sie sehen können, haben wir erfolgreich auf eine Datenbank aus einer anderen Datenbank zugegriffen und den Inhalt einer Tabelle mithilfe der DBLINK -Erweiterung in PostgreSQL angezeigt.

Abschluss:

In diesem Tutorial haben wir die Syntax und die Verwendung der DBlink -Erweiterung in PostgreSQL überlegt. Danach haben wir uns mit der Implementierung der DBlink -Erweiterung in der PostgreSQL -Umgebung befasst. Wir haben eine Verbindung zwischen zwei Datenbanken in unserer Umgebung erstellt und diese Verbindung dann verwendet, um Daten aus der anderen Datenbank in diesem Artikel anzuzeigen.