Skip to main content

Foreign Data Wrapper

Come già accennato nella pagina DB di analisi, il Foreign Data Wrapper (FDW) è uno strumento che ci consente di recuperare agevolmente i dati da database esterni senza dover utilizzare estensioni che richiedono sintassi particolari (ad es. dblink) e senza dover fare una copia fisica dei dati nel DB di analisi.

Di fatto il FDW è un collegamento alle tabelle (e alle viste se presenti) dei database esterni che ci consente di lavorare con il codice SQL esattamente come se tutti i dati fossero all'interno del nostro DB di analisi.

Nel nostro caso il FDW viene utilizzato per avere a disposizione all'interno del nostro database di analisi BI i dati dei database di tipo row data store popolati dalla procedura di ingestion.

 

Di seguito illustriamo brevemente i passaggi per configurare il FDW:

 

1. Creare l'estensione per il FDW desiderato, nel nostro caso postgres_fdw:

CREATE EXTENSION IF NOT EXISTS postgres_fdw;

 

2. Creare il server remoto per connettersi al database esterno desiderato:

CREATE SERVER server_remoto
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (dbname 'altrodb', host 'localhost');

 

3. Creare uno User Mapping per l'accesso al server remoto creato al punto precedente:

CREATE USER MAPPING FOR tuoutente
SERVER server_remoto
OPTIONS (user 'tuoutente', password 'tuapassword');

 

4. Importare dal server remoto lo schema desiderato:

IMPORT FOREIGN SCHEMA public
FROM SERVER server_remoto
INTO schema_locale;


NOTAPrima di importare lo schema dal server remoto è importante creare manualmente lo schema da popolare nel server locale.