Przykład postgres dblink

Przykład postgres dblink

W tym artykule przyjrzymy się wykorzystaniu rozszerzenia Postgresql „DbLink”. „DbLink” jest używany, gdy musimy uzyskać dostęp do tabel i widoków z innych baz danych w jednej sesji bazy danych. Tak więc, jeśli mamy dwie bazy danych, z którymi chcemy być powiązane, jedna baza danych musi zostać dodana do rozszerzenia DbLink i wywołana w drugiej. Zastanawiamy się nad konfiguracją rozszerzenia DbLink w naszych bazach danych i łączenie dwóch baz danych za pomocą tego rozszerzenia w środowisku PostgreSQL. Następnie przetestujemy link, wykonując niektóre zapytania w całej bazie danych.

Składnia DbLink w PostgreSQL:

Składnia do używania DbLink w PostgreSQL jest wspomniana poniżej:

# dblink („Nazwa połączenia”, „zapytanie SQL”);

Zapytanie DbLink przyjmuje dwa parametry; W pierwszym parametrze musimy podać nazwę połączenia, na którym tworzy się DbLink. W drugim parametrze musimy napisać każde zapytanie, aby wykonać dane obecne pod tym linkiem. Rozszerzenie DbLink jest często używane z zapytaniem „Wybierz”, chociaż inne zapytania mogą być używane do pobierania lub zmiany danych dotyczących połączenia DbLink.

Teraz, gdy znamy działanie rozszerzenia DbLink w Postgres, możemy spodziewać się wdrożenia tej koncepcji w środowisku PostgreSQL.

Tworzenie połączenia „dblink” między dwiema bazami danych w PostgreSQL:

Jak wiemy, PostgreSQL umożliwia zdalne połączenie dwóch baz danych za pomocą rozszerzenia „DbLink”, ale istnieje kilka protokołów, które należy zastosować, aby można je było pomyślnie wykonać. Teraz omówimy te protokoły i przedstawimy szczegółowy przewodnik do wykonania tej koncepcji.

Po pierwsze, musimy być zalogowani jako superuser w środowisku PostgreSQL. Aby stworzyć superuser, możemy użyć następującego zapytania:

# Utwórz użytkownika „Wstaw nazwę użytkownika” Superuser;

A jeśli chcesz superuser z hasłem, możesz użyć tego zapytania:

# Utwórz użytkownika „Wstaw nazwę użytkownika” Superuser z hasłem „Password_String”;

Następnie utworzymy dwie bazy danych w środowisku PostgreSQL, których będziemy używać do dostępu przez rozszerzenie „DbLink”.

# Utwórz bazę danych DB1;

Powyższe zapytanie utworzy bazę danych o nazwie „DB1” w naszym środowisku.

# Utwórz bazę danych DB2;

Powyższe zapytanie utworzy drugą bazę danych o nazwie „DB2” w naszym środowisku.

Możemy również przeglądać i uzyskać dostęp do tych baz danych, patrząc na menu po lewej stronie okna PGADMIN. Kiedy pomyślnie utworzymy dwie bazy danych, zbudujemy tabelę w naszej bazie danych „DB1” i wypełnimy ją wartościami, których użyjemy w drugiej bazie danych.

Utwórz pracownika tabeli
(
Emp_id int,
Emp_name varchar
);
Wstaw do pracownika
Wartości
(1, „Harry”),
(2, „James”),
(3, „John”),
(4, „Alex”);

Powyższa składnia pomoże w utworzeniu tabeli i wstawianiu wartości w tabelach w naszej bazie danych „DB1”.

Zastosowanie rozszerzenia „dblink” do bazy danych:

Utworzyliśmy w niej tabelę i wstawiliśmy wartości. Teraz przejdziemy do naszej drugiej bazy danych, „DB2”, w której wezwamy tę tabelę. Tutaj możemy spodziewać się zastosowania rozszerzenia „dbLink” do naszej bazy danych. Do tego użyjemy następującego zapytania:

# Utwórz rozszerzenie dblink;

Umożliwi to bazie danych korzystanie z rozszerzenia PostgreSQL „DbLink” w celu uzyskania dostępu do możliwości bazy danych. Zanim pójdziemy naprzód, musimy zweryfikować połączenie między naszymi bazami danych; W tym celu napiszemy następujące zapytanie:

# Wybierz dblink_connect ('host = localHost User = aqsayasin hasło = 12345 dbname = db1');

W powyższym zapytaniu nazwa użytkownika i hasło zmienią odpowiednio na nazwę i hasło Superuser, które skonfigurowałeś wcześniej, wraz z nazwą bazy danych, z którą chcesz sprawdzić połączenie. Po sortowaniu wykonaj zapytanie, a jeśli połączenie się powiedzie, da to wyjście:

W przypadku, gdy zawodzi lub rzuca wyjątek, musisz ponownie sprawdzić zapytanie dla prawidłowej nazwy użytkownika i hasła.

Dblink z obcymi opakowaniami danych:

Zagraniczne opakowania danych mogą wyraźnie zdefiniować zdalny zagraniczny serwer, aby uzyskać dostęp do innych danych. Następnie możemy przejść w kierunku stworzenia opakowania zagranicznych data w naszej bazie danych. Możemy utworzyć opakowanie zagranicznych data za pomocą dwóch metod i uzyskać dostęp do bazy danych z DbLink przy użyciu obcych opakowań danych w PostgreSQL:

Utwórz obcokrajowców danych za pomocą zapytania:

Opakowanie zagranicznych data zostanie utworzone w ten sposób przy użyciu dołączonego poniższego polecenia.

Utwórz obcokrajowców danych za pomocą opcji menu przeglądarki:

Po lewej stronie okna PGADMIN możemy znaleźć menu przeglądarki wyświetlające każdą jednostkę, w tym serwery, bazy danych i użytkowników. W tym menu musimy zlokalizować naszą bazę danych, w której musimy utworzyć opakowanie zagranicznych dat.

Po wybraniu bazy danych musimy zlokalizować opcję oznaczoną jako „obce opakowania danych” i kliknąć prawym przyciskiem myszy.

Wybierz odpowiednio opcje „Utwórz” i „obcokrajowe opakowanie danych…”.

To otworzy okno z tytułem „Utwórz - zagraniczne opakowanie danych”.

Wypełnij nazwę obcych opakowania danych i wybierz odpowiedniego użytkownika. Możesz teraz przechowywać informacje i utworzyć opakowanie zagranicznych data.

Po utworzeniu obcych opakowania danych musimy utworzyć dla niego serwer. W tym celu możemy użyć zapytania „Utwórz serwer”, jak podano poniżej:

# Utwórz Server Server1 FD1 Opcje opakowania danych FD1 (hostaddr 'ip_address', dbname 'db1');

Lub możemy po prostu zlokalizować nasze obce opakowanie danych w menu przeglądarki po lewej stronie okna i kliknąć prawym przyciskiem myszy, wybrać opcję „Utwórz” i przejść do opcji „Serwer zagraniczny…”.

To zabierze Cię do okna „Utwórz - zagraniczny serwer”.

Nazwij serwer, wybierz użytkownika z listy na polach wpisu i zapisz go, aby dodać zagraniczny serwer do obcego opakowania danych. Ponieważ pomyślnie utworzyliśmy serwer zagraniczny, musimy utworzyć mapę dla super użytkownika, który stworzyliśmy wcześniej. Do tego zadania użyjemy określonego zapytania:

# Utwórz mapowanie użytkowników dla opcji Aqsayasin Server Server1 (użytkownik „aqsayasin”, hasło „12345”);

Nazwa użytkownika musi być dokładna do wykonania, a drugi użytkownik, którego mapuje, może się zmienić według sytuacji. Jeśli jest to poprawnie obsługiwane, wyjście będzie następujące:

Powyższy wynik potwierdza, że ​​stworzyliśmy mapowanie użytkowników.

Dostęp do baz danych z DbLink za pomocą obcych opakowania danych w PostgreSQL:

Jak pomyślnie utworzyłeś mapowanie użytkowników. Możemy teraz użyć DbLink z tego serwera, aby uzyskać dostęp do naszej pierwszej bazy danych. Z tabeli, którą utworzyliśmy w naszej pierwszej bazie danych wyświetlmy „emp_id” i „emp_name”, używając tego zapytania:

# Wybierz * z dblink („server1”, „wybierz emp_id, emp_name od pracownika”)
Jako dane (emp_id int, emp_name varchar);

To zapytanie po wykonaniu wyświetli określoną zawartość tabeli, jak pokazano poniżej:

Jak widać, pomyślnie uzyskaliśmy dostęp do jednej bazy danych z innej bazy danych i wyświetliśmy zawartość tabeli za pomocą rozszerzenia DbLink w PostgreSQL.

Wniosek:

W tym samouczku rozumowaliśmy składnię i użycie rozszerzenia DbLink w PostgreSQL. Następnie zastanowiliśmy się nad wdrożeniem rozszerzenia DbLink w środowisku PostgreSQL. Utworzyliśmy połączenie między dwiema bazami danych w naszym środowisku, a następnie wykorzystaliśmy to połączenie do wyświetlania danych z drugiej bazy danych w tym artykule.