Esamineremo l'estensione "dblink" di PostgreSQL in questo articolo. Il "dblink" viene utilizzato quando è necessario accedere a tabelle e visualizzazioni da altri database all'interno di una sessione di database. Quindi, se abbiamo due database a cui vogliamo essere collegati, un database deve essere aggiunto all'estensione DBLINK e chiamato nell'altro. Esamineremo la configurazione dell'estensione DBLINK nei nostri database e il collegamento di due database utilizzando questa estensione nell'ambiente PostgreSQL. Successivamente, testare il collegamento eseguendo alcune query attraverso il database.
La sintassi per DBLINK in PostgreSQL:
La sintassi per l'utilizzo di DBLINK in PostgreSQL è menzionata di seguito:
# dblink ("nome della connessione", "query sql");La query DBLINK richiede due parametri; Nel primo parametro, dobbiamo indicare il nome della connessione su cui viene creato il dblink. Nel secondo parametro, dobbiamo scrivere qualsiasi query per eseguire i dati presenti a quel collegamento. L'estensione DBLINK viene spesso utilizzata con la query "Seleziona", sebbene altre query possano essere utilizzate per recuperare o modificare i dati sulla connessione DBLINK.
Ora che abbiamo familiarità con il funzionamento dell'estensione DBLINK in Postgres, non vediamo l'ora di implementare questo concetto nell'ambiente PostgreSQL.
Creazione della connessione "DBLINK" tra due database in PostgreSQL:
Come sappiamo, PostgreSQL consente a due database di essere collegati a distanza tramite l'estensione "dblink", ma ci sono diversi protocolli che devono essere seguiti per questo per essere eseguito correttamente. Ora discuteremo di questi protocolli e forniremo una guida dettagliata per l'esecuzione di questo concetto.
Innanzitutto, dobbiamo essere effettuati come un superutente nell'ambiente PostgreSQL. Per fare un superutente, possiamo usare la seguente query:
# Crea utente "inserire il nome dell'utente" Superuser;E se vuoi un superutente con una password, puoi usare questa query:
# Crea utente "inserire il nome dell'utente" Superuser con password "password_string";Quindi, creeremo due database nell'ambiente PostgreSQL che utilizzeremo per l'accesso tramite l'estensione "DBLINK".
# Crea database DB1;La query sopra creerà un database chiamato "DB1" nel nostro ambiente.
# Crea database DB2;La query sopra creerà un secondo database chiamato "DB2" nel nostro ambiente.
Possiamo anche visualizzare e accedere a questi database guardando nel menu lato sinistro della finestra PGADMIN. Quando avremo creato correttamente due database, creeremo una tabella nel nostro database "DB1" e lo riempiremo di valori che useremo nel secondo database.
Crea dipendente da tavoloLa sintassi di cui sopra aiuterà a creare una tabella e inserire valori nelle tabelle nel nostro database "DB1".
Applicazione dell'estensione "dblink" al database:
Abbiamo creato una tabella e inserito valori in essa. Ora passeremo al nostro secondo database, "DB2" in cui chiameremo questa tabella. Qui potremmo non aspettare di applicare un'estensione "dblink" al nostro database. Useremo la seguente domanda per farlo:
# Crea estensione dblink;Ciò consentirà al database di utilizzare l'estensione PostgreSQL "DBLINK" di accedere alle funzionalità del database. Prima di andare avanti, dobbiamo verificare la connessione tra i nostri database; Per questo, scriveremo la seguente domanda:
# Seleziona dblink_connect ('host = localHost user = aqsayasin password = 12345 dbname = db1');Nella query sopra, il nome dell'utente e della password cambierà di conseguenza nel nome e nella password del superutente che hai impostato in precedenza, insieme al nome del database con cui si desidera controllare la connessione con. Una volta ordinato, eseguire la query e se la connessione ha esito positivo, darà questo output:
Nel caso in cui fallisca o lancia un'eccezione, è necessario ricontrollare la query per il nome utente e la password corretti.
Dblink con involucri di dati stranieri:
Gli involucri di dati stranieri possono definire distintamente un server estero remoto per accedere ad altri dati. Dopo questo, possiamo muoverci verso la creazione di un wrapper da dati stranieri nel nostro database. Siamo in grado di creare un wrapper di dati stranieri con due metodi e accedere al database con DBLINK utilizzando involucri di dati stranieri in PostgreSQL:
Crea wrapper di dati stranieri utilizzando query:
L'involucro dei dati stranieri verrà creato utilizzando il comando aggiunto di seguito in questo modo.
Crea wrapper di dati estere utilizzando l'opzione menu browser:
Sul lato sinistro della finestra PGadmin, possiamo trovare il menu del browser che visualizza ogni entità, inclusi server, database e utenti. In questo menu, dobbiamo individuare il nostro database in cui dobbiamo creare l'involucro dei dati stranieri.
Dopo aver selezionato il database, dobbiamo individuare l'opzione etichettata "Wrapper di dati stranieri" e fare clic con il pulsante destro del mouse su di essa.
Seleziona le opzioni "create" e "wrapper di dati esteri ...", rispettivamente.
Questo aprirà una finestra con il titolo "Crea - Wrapper di dati stranieri".
Compila il nome del wrapper di dati estero e scegli l'utente appropriato. Ora puoi archiviare le informazioni e creare un wrapper da dati stranieri.
Dopo aver creato un wrapper di dati estero, dobbiamo creare un server per questo. Per questo, possiamo utilizzare una query "Crea server" come indicato di seguito:
# Crea le opzioni Server1 Server1 Foreign Data Wrapper FD1 (hostaddr 'ip_address', dbname 'db1');Oppure possiamo semplicemente individuare il nostro wrapper di dati stranieri nel menu del browser sul lato sinistro della finestra e fare clic con il tasto destro su di esso, selezionare l'opzione "crea" e andare all'opzione "Server estero ...".
Questo ti porterà alla finestra "Crea - server straniero".
Nomina il server, selezionare l'utente dall'elenco nei campi di iscrizione e salvarli per aggiungere un server straniero al wrapper di dati estero. Dato che abbiamo creato correttamente un server straniero, dobbiamo creare una mappa per il super utente che abbiamo creato in precedenza. Per questo compito, useremo la query dichiarata:
# Crea mapping utente per le opzioni Aqsayasin server1 server1 (utente 'aqsayasin', password '12345');Il nome utente deve essere accurato per questo da eseguire e l'altro utente che stiamo mappando può cambiare in base alla situazione. Se questo viene gestito correttamente, l'output sarà il seguente:
Il risultato di cui sopra conferma che abbiamo creato una mappatura degli utenti.
Accedi ai database con DBLINK utilizzando un wrapper di dati stranieri in PostgreSQL:
Come hai formato con successo una mappatura degli utenti. Ora possiamo usare il dblink da questo server per accedere al nostro primo database. Mostreremo "EMP_ID" e "EMP_NAME" dalla tabella che abbiamo creato nel nostro primo database utilizzando questa query:
# Seleziona * da dblink ('server1', 'seleziona emp_id, emp_name dal dipendente')Questa query dopo l'esecuzione visualizzerà il contenuto indicato della tabella come mostrato di seguito:
Come puoi vedere, abbiamo accettato correttamente un database da un altro database e visualizzato il contenuto di una tabella utilizzando l'estensione DBLINK in PostgreSQL.
Conclusione:
In questo tutorial, abbiamo deliberato la sintassi e l'uso dell'estensione DBLINK in PostgreSQL. Dopodiché, abbiamo esaminato l'implementazione dell'estensione di DBLINK nell'ambiente PostgreSQL. Abbiamo creato una connessione tra due database nel nostro ambiente e quindi abbiamo utilizzato tale connessione per visualizzare i dati dall'altro database in questo articolo.