Gå till huvudinnehåll Gå till ytterligare innehåll

PostgreSQL

I det här delavsnittet beskrivs hur du konfigurerar anslutningen till ett PostgreSQL-mål med PostgreSQL-kopplingen. 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

I det här avsnittet beskrivs de tillgängliga anslutningsegenskaperna. Alla egenskaper krävs om inget annat anges.

Datamål

  • Datagateway: Välj den Gateway för dataflytt 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
    • Gateway för dataflytt 2023.5.10 eller senare krävs.
    • 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 en av följande som passar:

      • PostgreSQL på plats
      • Amazon Aurora
      • Azure Database för PostgreSQL – Flexible Server.
    • För Amazon RDS för PostgreSQL.

      • Google Cloud SQL för PostgreSQL
      • Google Cloud AlloyDB för PostgreSQL
    • 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

User Name och Password: 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. Data Movement gateway) 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.
  • Klientcertifikatnyckel: 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 Skapa ny- och Avbryt-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
Anteckning om informationOm målschemat redan finns i databasen krävs inte behörigheten "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.

  • 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

Så här hämtar och installerar du driver:

  1. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

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

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

  5. driver kommer att installeras.

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:

  1. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

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

  3. 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.
  4. 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.
  5. Den gamla driver avinstalleras och den nya driver installeras.

Kör avinstalleringskommandot om du vill avinstallera driver.

Så här avinstallerar du driver:

  1. Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.

  2. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  3. 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å Data Movement gateway-servern och gör följande:

  1. Stoppa tjänsten Data Movement gateway:

    sudo systemctl stop repagent

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

  3. Installera RPM-filerna.

  4. Ändra arbetskatalogen till <Data Movement gateway-Install-Dir>/bin.

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

  6. Om du vill kan du bekräfta att drivrutinsplatsen kopierades:

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

  8. Starta Data Movement gateway-tjänsten.

    sudo systemctl start repagent

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

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

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!