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 tabeliPowyż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”)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.