Postgres dblink -eksempel

Postgres dblink -eksempel

Vi vil se på å bruke PostgreSQLs ”Dblink” -utvidelse i denne artikkelen. "Dblink" brukes når vi trenger å få tilgang til tabeller og visninger fra andre databaser i en databaseøkt. Så hvis vi har to databaser som vi ønsker å bli koblet til, må den ene databasen legges til DBlink -utvidelsen og kalles inn den andre. Vi vil se på å sette opp DBLink -utvidelsen i databasene våre og koble to databaser ved å bruke denne utvidelsen i PostgreSQL -miljøet. Etter det vil vi teste lenken ved å utføre noen spørsmål over databasen.

Syntaksen for dblink i PostgreSQL:

Syntaksen for bruk av Dblink i PostgreSQL er nevnt nedenfor:

# dblink (“Navn på tilkoblingen”, “SQL Query”);

Dblink -spørringen tar to parametere; I den første parameteren må vi oppgi navnet på forbindelsen som DBlink er opprettet. I den andre parameteren må vi skrive alle spørsmål for å utføre dataene som er til stede på den lenken. Dblink -utvidelsen brukes ofte med "Select" -spørsmålet, selv om andre spørsmål kan brukes til å hente eller endre data på DBLink -tilkoblingen.

Nå som vi er kjent med arbeidet med Dblink -forlengelsen i Postgres, kan vi se frem til å implementere dette konseptet i PostgreSQL -miljøet.

Opprette "dblink" -forbindelse mellom to databaser i PostgreSQL:

Som vi vet, tillater PostgreSQL to databaser å kobles eksternt via "dblink" -forlengelsen, men det er flere protokoller som må følges for at dette skal utføres vellykket. Nå vil vi diskutere disse protokollene og gi en detaljert guide for å utføre dette konseptet.

Først må vi være logget inn som en superbruker i PostgreSQL -miljøet. For å lage en superbruker, kan vi bruke følgende spørsmål:

# Opprett bruker “Sett inn navnet på brukeren” superbruker;

Og hvis du vil ha en superbruker med passord, kan du bruke denne spørringen:

# Opprett bruker “Sett inn navnet på brukeren” Superbruker med passord 'Password_String';

Deretter vil vi lage to databaser i PostgreSQL -miljøet som vi vil bruke for tilgang ved "DBlink" -utvidelsen.

# Opprett database DB1;

Ovennevnte spørring vil opprette en database som heter “DB1” i vårt miljø.

# Opprett database DB2;

Ovennevnte spørring vil opprette en andre database som heter ”DB2” i vårt miljø.

Vi kan også se og få tilgang til disse databasene ved å se inn i venstre side-menyen i PGADMIN-vinduet. Når vi har opprettet to databaser, vil vi bygge en tabell i vår "DB1" -database og fylle den med verdier som vi vil bruke i den andre databasen.

Lag tabellansatt
(
Emp_id int,
EMP_NAME VARCHAR
);
Sett inn ansatt
Verdier
(1, 'Harry'),
(2, 'James'),
(3, 'John'),
(4, 'Alex');

Ovennevnte syntaks vil hjelpe deg med å lage en tabell og sette inn verdier i tabellene i vår database “DB1”.

Bruker "dblink" -utvidelse til databasen:

Vi har laget en tabell og satt inn verdier i den. Nå vil vi flytte til vår andre database, “DB2” der vi vil etterlyse denne tabellen. Her kan vi se frem til å bruke en "dblink" -utvidelse til databasen vår. Vi bruker følgende spørsmål for å gjøre det:

# Opprett forlengelsesdblink;

Dette vil tillate databasen å bruke PostgreSQL -utvidelsen ”Dblink” for å få tilgang til funksjonene til databasen. Før vi går videre, må vi bekrefte forbindelsen mellom databasene våre; For dette vil vi skrive følgende spørsmål:

# Velg dblink_connect ('host = localhost user = aqsayasin passord = 12345 dbname = db1');

I spørringen over vil navnet på brukeren og passordet endres i samsvar med superbrukerens navn og passord som du setter opp tidligere, sammen med navnet på databasen du vil sjekke tilkoblingen med. Når dette er sortert, utfør spørringen, og hvis tilkoblingen er vellykket, vil den gi denne utgangen:

I tilfelle det mislykkes eller kaster et unntak, må du kontrollere spørringen for riktig brukernavn og passord.

Dblink med utenlandske datavakere:

Utenlandske datavakere kan tydelig definere en ekstern utenlandsk server for å få tilgang til andre data. Etter dette kan vi gå videre mot opprettelsen av en utenlandsk datainnpakning i databasen vår. Vi kan opprette en utenlandsk datainnpakning ved to metoder og få tilgang til databasen med DBLINK ved hjelp av utenlandske datavakere i PostgreSQL:

Lag utenlandske datavakere ved hjelp av spørring:

Utenlandske datakontakeren vil bli opprettet ved hjelp av den vedlagte kommandoen på denne måten.

Lag utenlandske datavakere ved hjelp av nettlesermenyalternativet:

På venstre side av PGADMIN -vinduet kan vi finne nettlesermenyen som viser hver enhet, inkludert servere, databaser og brukere. I denne menyen må vi lokalisere databasen vår der vi må opprette den utenlandske datakontakten.

Etter å ha valgt databasen, må vi finne alternativet merket "utenlandske datavakere" og høyreklikke på den.

Velg henholdsvis "Create" og "utenlandske datainnpakning ..." -alternativer.

Dette vil åpne et vindu med tittelen "Create - Foreign Data Wrapper".

Fyll ut navnet på den utenlandske datainnpakningen og velg den aktuelle brukeren. Du kan nå lagre informasjonen og opprette en utenlandsk datainnpakning.

Etter å ha opprettet en utenlandsk datavekker, må vi opprette en server for den. For dette kan vi bruke en spørring “Opprett server” som angitt nedenfor:

# Opprett Server Server1 Foreign Data Wrapper FD1 -alternativer (Hostaddr 'IP_Address', DBName 'DB1');

Eller vi kan ganske enkelt finne vår utenlandske datainnpakning i nettlesermenyen på venstre side av vinduet og høyreklikke på den, velg alternativet "Opprett" og gå til alternativet "Foreign Server ...".

Dette tar deg til vinduet "Opprett - utenlandsk server".

Navngi serveren, velg brukeren fra listen i oppføringsfeltene, og lagre dem for å legge til en utenlandsk server i utenlandske datavakning. Siden vi har opprettet en utenlandsk server, må vi lage et kart for superbrukeren vi opprettet tidligere. For denne oppgaven vil vi bruke den oppgitte spørringen:

# Opprett brukerkartlegging for Aqsayasin Server Server1 -alternativer (bruker 'Aqsayasin', passord '12345');

Brukernavnet må være nøyaktig for at dette skal utføres, og den andre brukeren vi kartlegger kan endres i henhold til situasjonen. Hvis dette håndteres riktig, vil utgangen være som følger:

Ovennevnte resultat bekrefter at vi har opprettet en brukerkartlegging.

Tilgangsdatabaser med DBLINK ved hjelp av utenlandske datavakning i PostgreSQL:

Som du har dannet en brukerkartlegging. Vi kan nå bruke dblink fra denne serveren for å få tilgang til vår første database. Vi vil vise "emp_id" og "emp_name" fra tabellen som vi opprettet i vår første database ved å bruke denne spørringen:

# Velg * fra dblink ('server1', 'velg emp_id, emp_name fra ansatt')
Som data (emp_id int, emp_name varchar);

Denne spørringen etter utførelse vil vise det oppgitte innholdet i tabellen som vist nedenfor:

Som du kan se, har vi fått tilgang til en database fra en annen database og vist innholdet i en tabell ved å bruke DBLink -utvidelsen i PostgreSQL.

Konklusjon:

I denne opplæringen har vi diskutert syntaksen og bruken av dblink -forlengelsen i PostgreSQL. Etter det så vi på å implementere Dblink -utvidelsen i PostgreSQL -miljøet. Vi opprettet en forbindelse mellom to databaser i miljøet vårt og brukte deretter den forbindelsen til å vise data fra den andre databasen i denne artikkelen.