PostgreSQL
Questa sezione spiega come configurare la connettività a una destinazione PostgreSQL utilizzando il connettore PostgreSQL di destinazione. È possibile utilizzare PostgreSQL come destinazione solo in un'attività di replica. Prima di potersi connettere a una destinazione PostgreSQL, è necessario configurare Autorizzazioni richieste nel database. Se ci si connette a un PostgreSQL tramite Gateway di Data Movement, è necessario anche installare il driver come descritto in Configurazione del driver.
Per informazioni sulle limitazioni e per considerazioni sull'utilizzo del connettore PostgreSQL, vedere Limiti e considerazioni.
Impostazione delle proprietà di connessione
Per configurare il connettore, procedere come segue:
-
In Connessioni, fare clic su Crea connessione.
-
Selezionare il connettore PostgreSQL di destinazione, quindi fornire le seguenti impostazioni:
Destinazione dati
-
Gateway dati: Quando si utilizza il Gateway di Data Movement, selezionare il gateway dati che verrà utilizzato per testare la connessione alla destinazione PostgreSQL. Questo dovrebbe essere lo stesso gateway utilizzato per accedere alla sorgente dati.
Nota informatica- Questo campo non è disponibile con la sottoscrizione Avvio Qlik Talend Cloud, poiché il Gateway di Data Movement non è supportato con i livelli di sottoscrizione.
-
Inoltre, è necessario installare il driver appropriato sul computer Gateway di Data Movement. Per dettagli, vedere Configurazione del driver qui sotto.
-
Provider cloud provider: scegliere una delle seguenti opzioni:
-
Nessuno - Selezionare questa opzione quando si utilizza:
- PostgreSQL in loco
- Amazon Aurora
- Azure Database per PostgreSQL: server flessibile
- Nessun Gateway di Data Movement
-
Amazon RDS
Per Amazon RDS per PostgreSQL
-
Google Cloud - Selezionare questa opzione quando si utilizza:
- Google Cloud SQL per PostgreSQL
- Google Cloud AlloyDB SQL per PostgreSQL
-
Microsoft Azure
Per Microsoft Azure Database per PostgreSQL.
-
-
Host: il nome host o l'indirizzo IP del computer su cui è installato il database PostgreSQL.
-
Porta: la porta da utilizzare durante la connessione al database. L'impostazione predefinita è 5432.
Proprietà dell'account
Nome utente e Password: il nome utente e la password di un utente autorizzato ad accedere al database di PostgreSQL Server.
Proprietà del database
-
Nome database: per specificare un database, è possibile utilizzare i due metodi descritti di seguito.
- Metodo 1 - Selezione da un elenco: Fare clic su Carica database, quindi selezionare un database.
- Metodo 2 - Manualmente: selezionare Inserisci nome database manualmente, quindi inserire il nome del database.
- Modalità SSL: selezionare una delle opzioni descritte di seguito.
- disabilita: connettersi solo con cognome e password.
- consenti: stabilire una connessione crittografata se richiesta dal server.
- preferisci: questa è l'opzione predefinita. Stabilisce una connessione crittografata se il server supporta connessioni crittografate, ricorrendo a una connessione non crittografata se non è possibile stabilire una connessione crittografata.
- richiedi: stabilisce una connessione crittografata se il server supporta connessioni crittografate. Il tentativo di connessione non riesce se non è possibile stabilire una connessione crittografata.
- verifica ca: simile a Richiesto, ma verifica anche il certificato dell'Autorità di certificazione (CA) del server rispetto ai certificati CA configurati. Il tentativo di connessione non riesce se non vengono trovati certificati CA corrispondenti validi.
- verifica completa: simile a Verifica CA, ma esegue anche la verifica dell'identità del nome host controllando il nome host che il client (ad es. Qlik Talend Data Integration) utilizza per la connessione al server rispetto all'identità nel certificato che il server invia al client. Il client verifica se il nome host utilizzato per la connessione corrisponde al valore Nome Comune nel certificato del server. La connessione non riesce in caso di mancata corrispondenza.
- Certificato attendibile: l'autorità di certificazione (CA) che ha emesso il file del certificato client in formato PEM.
- Certificato client: caricare il certificato client richiesto dal server.
- Chiave del certificato client: il file della chiave privata del client in formato PEM.
- CRL: il certificato CRL. Questo file contiene certificati revocati dalle autorità di certificazione. Se il certificato del server viene visualizzato in questo elenco, la connessione avrà esito negativo.
- Compressione SSL: selezionare questa opzione per comprimere i dati prima che vengano crittografati.
- Max file size (KB): selezionare o digitare le dimensioni massime (in KB) di un file CSV prima di caricarlo nel database di destinazione PostgreSQL. Il valore predefinito è 32000 KB.
Proprietà interne
Le proprietà interne servono per casi d'uso speciali e pertanto non vengono visualizzate nella finestra di dialogo. Gli utenti devono utilizzarle solo se indicato dal Supporto di Qlik.
Usare i pulsanti e a destra del campo per aggiungere o rimuovere proprietà in base alle esigenze.
Nome
Il nome visualizzato per la connessione.
Prerequisiti
Autorizzazioni richieste
L'utente specificato nelle impostazioni del connettore deve essere un utente registrato nel database PostgreSQL.
Inoltre, è necessario concedere le seguenti autorizzazioni:
- Può accedere
- Può creare database
Configurazione del driver
È possibile installare driver utilizzando l'utilità di installazione dei driver (procedura consigliata) oppure manualmente. Si consiglia di utilizzate l'installazione manuale nel caso improbabile che si riscontrasse un problema con l'utilità di installazione dei driver.
Utilizzo dell'utilità di installazione dei driver per installare il driver
Questa sezione descrive come installare il driver richiesto. Il processo prevede l'esecuzione di uno script che scarica, installa e configura automaticamente il driver richiesto. È inoltre possibile eseguire script per aggiornare e disinstallare il driver secondo le necessità.
Preparazione dell'installazione
-
Assicurarsi che Python 3.6.x o versione successiva sia installato sul server del gateway di Data Movement.
Python è preinstallato nella maggior parte delle distribuzioni Linux. È possibile verificare quale versione di Python è installata sul sistema, eseguendo il seguente comando:
python3 --version
Installazione di driver
Per scaricare e installare driver:
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./install postgres
Se non è possibile scaricare driver (a causa di restrizioni di accesso o problemi tecnici), verrà visualizzato un messaggio con le istruzioni su dove scaricare il driver e copiarlo sul computer gateway Data Movement. Una volta completata l'operazione, eseguire nuovamente il comando install postgres.
Altrimenti, verrà visualizzato l'EULA del driver.
-
Effettuare una delle seguenti operazioni:
- Premere ripetutamente [Invio] per scorrere lentamente l'EULA.
- Premere ripetutamente la barra spaziatrice per scorrere rapidamente l'EULA.
- Premere q per uscire dal testo della licenza e visualizzare le opzioni di accettazione dell'EULA.
-
Effettuare una delle seguenti operazioni:
- Digitare "y" e premere [Invio] per accettare l'EULA e avviare l'installazione.
- Digitare "n" e premere [Invio] per rifiutare l'EULA e uscire dall'installazione.
-
Digitare "v" e premere [Invio] per visualizzare nuovamente l'EULA.
Il driver verrà installato.
Aggiornamento del driver
Eseguire il comando aggiorna se si desidera disinstallare le versioni precedenti del driver prima di installare il driver fornito.
Per scaricare e aggiornare driver:
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./update postgres
Se non si riesce a scaricare il driver (a causa di restrizioni di accesso o problemi tecnici), verrà visualizzato un messaggio con le istruzioni su dove scaricare il driver e copiarlo sul computer gateway Data Movement. Una volta completata l'operazione, eseguire nuovamente il comando update postgres.
Altrimenti, verrà visualizzato l'EULA del driver.
-
Effettuare una delle seguenti operazioni:
- Premere ripetutamente [Invio] per scorrere lentamente l'EULA.
- Premere ripetutamente la barra spaziatrice per scorrere rapidamente l'EULA.
- Premere q per uscire dal testo della licenza e visualizzare le opzioni di accettazione dell'EULA.
-
Effettuare una delle seguenti operazioni:
- Digitare "y" e premere [Invio] per accettare l'EULA e avviare l'installazione.
- Digitare "n" e premere [Invio] per rifiutare l'EULA e uscire dall'installazione.
- Digitare "v" e premere [Invio] per rivedere l'EULA dall'inizio.
Il vecchio driver verrà disinstallato e il nuovo driver verrà installato.
Disinstallazione del driver
Eseguire il comando di disinstallazione se si desidera disinstallare il driver.
Per disinstallare il driver:
-
interrompere tutte le attività configurate per utilizzare il connettore.
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./uninstall postgres
Il driver verrà disinstallato.
Installazione manuale di driver e librerie
Si consiglia di tentare l'installazione manuale di driver nel caso in cui l'installazione automatizzata non venissa completata.
Dopo aver installato Gateway di Data Movement, scaricare i seguenti file RPM. È possibile trovare i collegamenti di download diretto ai file in binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/postgres.yaml. Una volta completato il download, copiare i file nel computer Gateway di Data Movement.
Quando il Gateway di Data Movement è installato su Red Hat 9.x:
- postgresql<version>-libs-<version>PGDG.rhel9.x86_64.rpm
- postgresql<version>-<version>PGDG.rhel9.x86_64.rpm
- postgresql<version>-odbc-<version>PGDG.rhel9.x86_64.
Quando il Gateway di Data Movement è installato su Red Hat 8.x:
- postgresql<version>-libs-<version>PGDG.rhel8.x86_64.rpm
- postgresql<version>-<version>PGDG.rhel8.x86_64.rpm
- postgresql<version>-odbc-<version>PGDG.rhel8.x86_64.rpm
Quindi, sul server di gateway di Data Movement, aprire un prompt della shell e procedere come segue:
-
Arrestare il servizio gateway di Data Movement:
sudo systemctl stop repagent
-
Facoltativamente, confermare che il servizio è stato interrotto:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: inactive (dead) since <timestamp> ago
-
Installare i file RPM.
-
Modifica la directory di lavoro in <gateway di Data Movement_Install_Dir>/bin.
-
Copiare la posizione del driver nel file site_arep_login.sh come descritto di seguito:
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh
Questo aggiungerà il driver a "LD_LIBRARY_PATH" e aggiornerà la sua posizione nel file site_arep_login.sh.
-
Facoltativamente, conferma che la posizione del driver è stata copiata:
cat site_arep_login.sh
-
Assicurarsi che il file /etc/odbcinst.ini contenga una voce per PostgreSQL, come nell'esempio seguente:
[PostgreSQL]
Description = PostgreSQL ODBC driver
Driver = /usr/pgsql-13/lib/psqlodbc.so
Setup = /usr/pgsql-13/lib/psqlodbcw.so
UsageCount = 1
-
Avviare il servizio gateway di Data Movement:
sudo systemctl start repagent
-
Facoltativamente, confermare che il servizio si è avviato:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: active (running) since <timestamp> ago
Limiti e considerazioni
Le seguenti limitazioni si applicano quando si utilizza PostgreSQL come una destinazione per la replica:
- Le operazioni UPDATE e DELETE nelle tabelle senza una chiave primaria/indice univoco che contengono i record duplicati non sono supportate. Qualsiasi modifica apportata a queste tabelle avrà effetto su tutti i record nella destinazione.
- Le tabelle con una colonna LOB nella chiave non sono supportate nella modalità di applicazione Batch ottimizzato. Quando una colonna VARBINARY è utilizzata come chiave di una tabella di origine, nella destinazione verrà creata una colonna BYTEA. Questo causa un comportamento imprevedibile nella modalità di applicazione Batch ottimizzato. Come soluzione, si consiglia di utilizzare la funzione HEX SQLite per convertire VARBINARY in VARCHAR.
Tipi di dati
La informazioni relative tipo di dati nativo vengono mantenute e vengono visualizzate nella colonna Tipo di dati nativo nelle visualizzazioni del set di dati. Se la colonna non è visibile, è necessario aprire lo strumento di selezione delle colonne della visualizzazione del set di dati e selezionare la colonna Tipo di dati nativo.
Tipi di dati Qlik Cloud | Tipi di dati PostgreSQL |
---|---|
BOOL |
BOOL |
BYTES |
BYTEA |
DATE |
DATE |
TIME |
TIME |
DATETIME |
Se la scala è => 0 e =< 6, allora: TIMESTAMP Se la scala è => 7 e =< 12, allora: VARCHAR (37) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
DECIMAL (P, S) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
STRING |
Se la lunghezza è 1 - 21845, allora: VARCHAR (lunghezza in byte = il valore STRING moltiplicato per tre) Se la lunghezza è 21846 - 2147483647, allora: VARCHAR (65535) |
UINT1 |
SMALLINT |
UINT2 |
INTEGER |
UINT4 |
BIGINT |
UINT8 |
BIGINT |
WSTRING |
Se la lunghezza è 1 - 21845, allora: VARCHAR (lunghezza in byte = il valore WSTRING moltiplicato per tre) Se la lunghezza è 21846 - 2147483647, allora: VARCHAR (65535) |
BLOB |
BYTEA |
NCLOB |
TEXT |
CLOB |
TEXT |
Tipi di dati per la replica da una sorgente PostgreSQL
Quando la replica da una sorgente PostgreSQL, la tabella di destinazione verrà creata con gli stessi tipi di dati per tutte le colonne, ad eccezione delle colonne con tipi di dati PostGIS o definiti dall'utente. In questi casi, il tipo di dati verrà creato come "carattere variabile" nella destinazione.