Vai al contenuto principale Passa a contenuto complementare

PostgreSQL:

Questa sezione spiega come configurare la connettività a una destinazione MySQL utilizzando il connettore Destinazione PostgreSQL. È 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

Questa sezione descrive le proprietà di connessione disponibili. Tutte le proprietà sono obbligatorie se non diversamente indicato.

Destinazione dati

  • Gateway dati: Selezionare il Gateway di Data Movement che verrà utilizzato per testare la connessione alla destinazione PostgreSQL. Questo dovrebbe essere lo stesso gateway utilizzato per accedere alla sorgente dati.

    Nota informatica
    • Richiede Gateway di Data Movement 2023.5.10 o versione successiva.
    • Inoltre, è necessario installare il driver appropriato sul computer Gateway di Data Movement. Per dettagli, vedere Configurazione del driver qui sotto.

  • Provider di servizi cloud: scegliere una delle seguenti opzioni in base alle necessità.

      • PostgreSQL in loco
      • Amazon Aurora
      • Azure Database per PostgreSQL - server flessibile
    • Per Amazon RDS per PostgreSQL

      • Google Cloud SQL per PostgreSQL
      • Google Cloud AlloyDB SQL per PostgreSQL
    • 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

User Name e Password: il nome utente e la password di un utente autorizzato ad accedere al database 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. gateway di Data Movement) 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 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 Crea nuovo e Annulla 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
Nota informaticaSe lo schema di destinazione esiste già nel database, l'autorizzazione "Può creare database" non è richiesta.

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à.

  • Assicurarsi che Python 3.6.x o versione successiva sia installato sul server del gateway di Spostamento dati.

    Python è preinstallato nella maggior parte delle distribuzioni Linux. È possibile verificare quale versione di Python è installata sul sistema, eseguendo il seguente comando:

    python3 --version

Per scaricare e installare driver:

  1. Sul computer gateway Spostamento dati, cambiare la directory di lavoro in:

    opt/qlik/gateway/movement/drivers/bin

  2. 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 Spostamento dati. Una volta completata l'operazione, eseguire nuovamente il comando install postgres.

    Altrimenti, verrà visualizzato l'EULA del driver.

  3. 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.
  4. 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.

  5. Il driver verrà installato.

Eseguire il comando aggiorna se si desidera disinstallare le versioni precedenti del driver prima di installare il driver fornito.

Per scaricare e aggiornare driver:

  1. Sul computer gateway Spostamento dati, cambiare la directory di lavoro in:

    opt/qlik/gateway/movement/drivers/bin

  2. 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 Spostamento dati. Una volta completata l'operazione, eseguire nuovamente il comando update postgres.

    Altrimenti, verrà visualizzato l'EULA del driver.

  3. 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.
  4. 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.
  5. Il vecchio driver verrà disinstallato e il nuovo driver verrà installato.

Eseguire il comando di disinstallazione se si desidera disinstallare il driver.

Per disinstallare il driver:

  1. interrompere tutte le attività configurate per utilizzare il connettore.

  2. Sul computer gateway Spostamento dati, cambiare la directory di lavoro in:

    opt/qlik/gateway/movement/drivers/bin

  3. 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:

  1. Arrestare il servizio gateway di Data Movement:

    sudo systemctl stop repagent

  2. Facoltativamente, confermare che il servizio è stato interrotto:

    sudo systemctl status repagent

    Lo stato dovrebbe essere il seguente:

    Active: inactive (dead) since <timestamp> ago

  3. Installare i file RPM.

  4. Modifica la directory di lavoro in <gateway di Data Movement_Install_Dir>/bin.

  5. 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.

  6. Facoltativamente, conferma che la posizione del driver è stata copiata:

    cat site_arep_login.sh
  7. 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

  8. Avviare il servizio gateway di Data Movement:

    sudo systemctl start repagent

  9. 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
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.

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!