PostgreSQL
I det här delavsnittet beskrivs hur du konfigurerar anslutningen till ett PostgreSQL-mål med PostgreSQL-målkopplingen. PostgreSQL kan endast användas som mål i en replikeringsuppgift. Innan du kan ansluta till ett PostgreSQL-mål måste du konfigurera Behörigheter som krävs på databasen. Om du ansluter till PostgreSQL via Gateway för dataflytt måste du även installera drivrutinen enligt beskrivning i Inställning av drivrutin.
Information om begränsningar och överväganden för användning av PostgreSQL-kopplingen finns i Begränsningar och överväganden.
Ställa in anslutningsegenskaper
Gör så här för att konfigurera kopplingen:
-
I Kopplingar klickar du på Skapa koppling.
-
Välj PostgreSQL-målkopplingen och ange följande inställningar:
Datamål
-
Datagateway: När du arbetar med Gateway för dataflytt ska du välja den datagateway som kommer att användas för att testa kopplingen till PostgreSQL-målet. Detta ska vara samma gateway som användes för att komma åt datakällan.
Anteckning om information- Detta fält är inte tillgängligt med Qlik Talend Cloud Starterprenumeration eftersom Gateway för dataflytt inte stöds med denna prenumerationsnivå.
-
Du måste också installera lämplig drivrutin på Gateway för dataflytt-maskinen. Information finns i Inställning av drivrutin nedan.
-
Molnleverantör: välj något av följande efter behov:
-
Ingen – välj när du arbetar med:
- PostgreSQL på plats
- Amazon Aurora
- Azure Database för PostgreSQL – Flexible Server
- Nej Gateway för dataflytt
-
Amazon RDS
För Amazon RDS för PostgreSQL.
-
Google Clooud – välj när du arbetar med:
- Google Cloud SQL för PostgreSQL
- Google Cloud AlloyDB för PostgreSQL
-
Microsoft Azure
För Microsoft Azure Database för PostgreSQL.
-
-
Värd: värdnamnet eller IP-adressen för den dator där PostgreSQL-databasen är installerad.
-
Port: Port som ska användas vid anslutning till databasen. Standardvärdet är 5432.
Kontoegenskaper
Användarnamn och Lösenord: Användarnamn och lösenord för en användare som har behörighet att komma åt PostgreSQL Server-databasen .
Databasegenskaper
-
Databasnamn: du kan använda två metoder för att specificera en databas:
- Metod 1 - Välj från en lista: Klicka på Ladda databas och välj sedan en databas.
- Metod 2 - Manuellt: Välj Ange databasnamn manuellt och ange databasens namn.
- SSL-läge: Välj ett av följande:
- inaktivera – Anslut enbart med efternamn och lösenord.
- tillåt – Upprätta en krypterad anslutning om servern begär det.
- föredra – Detta är standardinställningen. Upprättar en krypterad koppling om servern har stöd för krypterade koppling och övergår till okrypterad koppling om det inte går att upprätta en krypterad koppling.
- kräv – Upprättar en krypterad koppling om servern har stöd för krypterade kopplingar. Anslutningsförsöket misslyckas om det inte går att upprätta en krypterad anslutning.
- verifiera-ca – samma som Krävs, men verifierar också serverns Certificate Authority-certifikat (CA) mot de konfigurerade CA-certifikaten. Anslutningsförsöket misslyckas om det inte går att hitta ett matchande CA-certifikat.
- fullständig-verifiering – Samma som Verifiera-CA, men utför också en verifiering av värdnamnets identitet genom att kontrollera klientens värdnamn (dvs. Qlik Talend Data Integration) använder för att ansluta till servern mot identiteten i certifikatet som servern skickar till klienten. Klienten kontrollerar om det värdnamn som används för att ansluta matchar Common Name-värdet i servercertifikatet. Anslutningen misslyckas om värdena inte matchar.
- Betrott certifikat: Den certifikatutfärdare (CA) som utfärdade klientcertifikatet i PEM-format.
- Klientcertifikat: Ladda upp det klientcertifikat som begärts av servern.
- Client certificate key: klientens privata nyckelfil i PEM-format.
- CRL: CRL-certifikatet. Den här filen innehåller certifikat som återkallats av certifikatutfärdarna. Om servercertifikatet finns i den här listan kommer anslutningen att misslyckas.
- SSL-komprimering: Välj det här alternativet för att komprimera data innan det krypteras.
- Maximal filstorlek (kB): Välj eller skriv den maximala storleken (i kB) för en CSV-fil innan den laddas in i PostgreSQL-måldatabasen. Standardvärdet är 32 000 kB.
Interna egenskaper
Interna egenskaper är till för speciella användarfall och visas därför inte i dialogen. De ska bara användas om Qlik-supporten uppmanar dig att göra det.
Använd - och -knapparna till höger om fälten för att lägga till och ta bort egenskaper efter behov.
Namn
Visningsnamnet för anslutningen.
Förutsättningar
Behörigheter som krävs
Den användare som anges i kontaktinställningarna måste vara en registrerad användare i PostgreSQL-databasen.
Dessutom måste följande behörigheter ges:
- Kan logga in
- Skapa databaser
Inställning av drivrutin
Du kan installera driver med verktyget för installation av drivrutiner (rekommenderas) eller manuellt. Manuell installation ska bara användas om det mot förmodan skulle inträffa ett problem med verktyget för installation av drivrutiner.
Använda verktyget för installation av drivrutiner för att installera drivrutinen
I det här delavsnittet beskrivs hur driver som krävs installeras. Processen innebär att ett skript körs som automatiskt hämtar, installerar och konfigurerar den nödvändiga driver. Du kan också köra skript som uppdaterar och avinstallerar driver efter behov.
Förbereda installationen
-
Kontrollera att Python 3.6 eller senare är installerad på Dataflytt-gatewayservern.
Python kommer förinstallerad på de flesta Linuxdistributioner. Du kan kontrollera vilken Pythonversion som är installerad på ditt system genom att köra följande kommando:
python3 --version
Installera driver
Så här hämtar och installerar du driver:
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
Syntax:
./install postgres
Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du install postgres-kommandot igen.
I annat fall visas EULA för driver.
-
Gör ett av följande:
- Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
- Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
- Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
-
Gör något av följande:
- Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
- Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
-
Skriv in "v" och tryck på [Enter] för att visa EULA igen.
driver kommer att installeras.
Uppdatering av driver
Kör uppdateringskommandot om du vill avinstallera tidigare versioner av driver innan du installerar den tillhandahållna driver.
Så här hämtar och uppdaterar du driver:
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
Syntax:
./update postgres
Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du update postgres-kommandot igen.
I annat fall visas EULA för driver.
-
Gör ett av följande:
- Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
- Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
- Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
-
Gör något av följande:
- Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
- Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
- Skriv in "v" och tryck på [Enter] för att granska EULA från början.
Den gamla driver avinstalleras och den nya driver installeras.
Avinstallera driver
Kör avinstalleringskommandot om du vill avinstallera driver.
Så här avinstallerar du driver:
-
Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
-syntax
./uninstall postgres
driver kommer att avinstalleras.
Installera drivrutinen och biblioteken manuellt
Du bör bara försöka installera driver manuellt om den automatiserade drivrutinsinstallationen inte slutfördes.
Efter att Gateway för dataflytt har installerats hämtar du följande RPM-filerr. Du hittar direkta nedladdningslänkar till filerna i binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/postgresql.yaml. När hämtningen har slutförts kopierar du filerna till Gateway för dataflytt-maskinen.
När Gateway för dataflytt installeras på 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.
När Gateway för dataflytt installeras på 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
Öppna en kommandorad på Gateway för dataflytt-servern och gör följande:
-
Stoppa tjänsten Gateway för dataflytt:
sudo systemctl stop repagent
-
Om du vill kan du bekräfta att tjänsten har stoppats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: inactive (dead) since <timestamp> ago
-
Installera RPM-filerna.
-
Ändra arbetskatalogen till <Gateway för dataflytt-Install-Dir>/bin.
-
Kopiera drivrutinens plats till filen site_arep_login.sh enligt följande:
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh
Detta kommer att lägga till drivrutinen i "LD_LIBRARY_PATH" och uppdatera drivrutinsplatsen i filen site_arep_login.sh.
-
Om du vill kan du bekräfta att drivrutinsplatsen kopierades:
cat site_arep_login.sh
-
Säkerställer att /etc/odbcinst.ini-filen innehåller en post för PostgreSQL, som i följande exempel:
[PostgreSQL]
Description = PostgreSQL ODBC driver
Driver = /usr/pgsql-13/lib/psqlodbc.so
Setup = /usr/pgsql-13/lib/psqlodbcw.so
UsageCount = 1
-
Starta Gateway för dataflytt-tjänsten.
sudo systemctl start repagent
-
Om du vill kan du bekräfta att tjänsten har startats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: active (running) since <timestamp> ago
Begränsningar och överväganden
Följande begränsningar gäller när PostgreSQL används som replikeringsmål:
- UPDATE- och DELETE-åtgärder på tabeller utan primärnyckel/unikt index som innehåller kopierade poster stöds inte. Alla ändringar i dessa tabeller kommer att påverka alla poster i målet.
- Tabeller med en LOB-kolumn i nyckeln stöds inte i Batchoptimerad tillämpning-läget. När en VARBINARY-kolumn används som källtabellnyckel skapas en BYTEA-kolumn i målet. Detta orsakar oförutsägbart beteende i Batchoptimerad tillämpning-läget. Som en lösning föreslår vi att du använder SQLite HEX-funktionen för att konvertera VARBINARY till VARCHAR.
Datatyper
Information om inbyggd datatyp bevaras och visas i kolumnen Inbyggd datatyp i datauppsättningsvyer. Om kolumnen inte är synlig måste du öppna kolumnväljaren i datauppsättnignsvyn och välja kolumnen Inbyggd datatyp.
Qlik Cloud Datatyper | PostgreSQL-datatyper |
---|---|
BOOL |
BOOL |
Byte |
BYTEA |
Datum |
Datum |
Tid |
Tid |
Datum och tid: |
Om skala är => 0 och =< 6, då: TIMESTAMP Om skala är => 7 och =< 12, då: VARCHAR (37) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
Numerisk |
DECIMAL (P, S) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
sträng |
Om längden är 1 - 21845, då: VARCHAR (längd i bytes = STRING-värdet multiplicerat med tre) Om längden är 21846 - 2147483647, då: VARCHAR (65535) |
UINT1 |
SMALLINT |
UINT2 |
INTEGER |
UINT4 |
BIGINT |
UINT8 |
BIGINT |
WSTRING |
Om längden är 1 - 21845, då: VARCHAR (längd i bytes = WSTRING-värdet multiplicerat med tre) Om längden är 21846 - 2147483647, då: VARCHAR (65535) |
BLOB |
BYTEA |
NCLOB |
TEXT |
CLOB |
TEXT |
Datatyper vid replikering från en PostgreSQL-källa
Vid replikering från en PostgreSQL-källa kommer måltabellen att skapas med samma datatyper för alla kolumner, förutom kolumner med användardefinierade eller PostGIS-datatyper. I sådana fall kommer datatypen att skapas som "teckenvariation" i målet.