Ga naar hoofdinhoud Ga naar aanvullende inhoud

PostgreSQL

Deze sectie beschrijft hoe u de verbinding met een PostgreSQL-doel moet configureren met behulp van de PostgreSQL Target-connector. PostgreSQL kan alleen als doel worden gebruikt in een replicatietaak. Voordat u verbinding kunt maken met een PostgreSQL-doel, moet u de Vereiste machtigingen voor de database configureren. Als u via Gateway voor gegevensverplaatsing verbinding maakt met PostgreSQL, moet u ook het stuurprogramma installeren zoals beschreven in Setup stuurprogramma.

Voor informatie over de beperkingen en overwegingen bij het gebruik van de PostgreSQL-connector raadpleegt u Beperkingen en overwegingen.

Verbindingseigenschappen instellen

Deze sectie beschrijft de beschikbare verbindingseigenschappen. Alle eigenschappen zijn vereist, tenzij anders aangegeven.

Gegevensdoel

  • Gegevensgateway: Selecteer de Gateway voor gegevensverplaatsing die wordt gebruikt om de verbinding naar het PostgreSQL-doel te testen. Dit moet dezelfde gateway zijn die is gebruikt om toegang tot de gegevensbron te krijgen.

    Informatie
    • Vereist Gateway voor gegevensverplaatsing 2023.5.10 of hoger.
    • U moet ook het juiste stuurprogramma installeren op een Gateway voor gegevensverplaatsing-machine. Voor meer informatie raadpleegt u Setup stuurprogramma hieronder.

  • Cloudprovider: Kies uit een van de volgende:

      • PostgreSQL on-premises
      • Amazon Aurora
      • Azure Database for PostgreSQL - Flexibele server.
    • Voor Amazon RDS for PostgreSQL.

      • Google Cloud SQL for PostgreSQL
      • Google Cloud AlloyDB for PostgreSQL
    • Voor Microsoft Azure Database for PostgreSQL.

  • Host: De hostnaam of het IP-adres van de computer waarop de PostgreSQL-database is geïnstalleerd.

  • Poort: De poort om te gebruiken als u verbinding maakt met een database. De standaardwaarde is 5432.

Accounteigenschappen

Gebruikersnaam en wachtwoord: De gebruikersnaam en het wachtwoord van een gebruiker die toegang heeft tot de PostgreSQL Server-database.

Database-eigenschappen

  • Databasenaam: Er zijn twee methoden die u kunt gebruiken om een database op te geven:

    • Methode 1 - Selecteren in een lijst: Klik op Databases laden en selecteer een database.
    • Methode 2 - Handmatig: Selecteer Databasenaam handmatig opgeven en geef vervolgens de databasenaam op.
  • SSL-modus: Selecteer een van de volgende opties:
    • uitschakelen - Verbind alleen met een achternaam en wachtwoord.
    • toestaan - Breng een versleutelde verbinding tot stand indien dit wordt aangevraagd door de server.
    • voorkeur - Dit is de standaardoptie. Brengt een versleutelde verbinding tot stand als de server versleutelde verbindingen ondersteunt, valt terug op een niet-versleutelde verbinding als er geen versleutelde verbinding tot stand kan worden gebracht.
    • vereist - Brengt een versleutelde verbinding tot stand als de server versleutelde verbindingen ondersteunt. De verbindingspoging mislukt als een versleutelde verbinding niet tot stand kan worden gebracht.
    • ca controleren - Vergelijkbaar met Vereist, maar controleert ook het certificaat van de certificeringsinstantie (CA) aan de hand van geconfigureerde CA-certificaten. De verbindingspoging mislukt als er geen geldige overeenkomende CA-certificaten worden gevonden.
    • volledig controleren - Vergelijkbaar met CA controleren, maar voert ook een identiteitscontrole van de hostnaam uit door de hostnaam te controleren die de client (d.w.z. Data Movement gateway) gebruikt om te verbinden met de server aan de hand van de identiteit in het certificaat dat de server naar de client verzendt. De client controleert of de hostnaam die wordt gebruik voor het verbinden overeenkomt met de waarde Algemene naam in het servercertificaat. De verbinding mislukt als de namen niet overeenkomen.
  • Vertrouwd certificaat: De certificeringsinstantie (CA) dat het bestand van het clientcertificaat heeft uitgegeven in de PEM-indeling.
  • Clientcertificaat: Het clientcertificaat dat door de server wordt aangevraagd.
  • Sleutel clientcertificaat: Het persoonlijke-sleutelbestand van de client in de PEM-indeling.
  • CRL: Het CRL-certificaat. Dit bestand bevat certificaten die zijn ingetrokken door certificeringsinstanties. Als het servercertificaat verschijnt in deze lijst, zal de verbinding mislukken.
  • SSL-compressie: Selecteer deze optie om de gegevens te comprimeren voordat deze worden versleuteld.
  • Max. bestandsgrootte (kB): Selecteer of typ de maximumgrootte (in KB) van een CSV-bestand voordat het wordt geladen naar de PostgreSQL-doeldatabase. De standaardwaarde is 32000 KB.

Interne eigenschappen

Interne eigenschappen zijn bedoeld voor speciale toepassingen en worden daarom niet in het dialoogvenster weergegeven. U moet ze alleen gebruiken als Qlik Support dit aan u heeft geadviseerd.

Gebruik de knop Nieuwe maken en Annuleren aan de rechterkant van de velden om eigenschappen toe te voegen of te verwijderen.

Naam

De weergavenaam voor de verbinding.

Vereisten

Vereiste machtigingen

De gebruiker die is opgegeven in de connectorinstellingen moet een geregistreerde gebruiker in de PostgreSQL-database zijn.

Ook moet u de volgende machtigingen toewijzen:

  • Kan aanmelden
  • Databases maken
InformatieDe machtiging "Databases maken" is niet vereist als het doelschema al aanwezig is in de database.

Setup stuurprogramma

U kunt het driver installeren met het installatieprogramma (aanbevolen) of handmatig. U moet een handmatige installatie alleen uitvoeren als er een probleem ontstaat bij het hulpprogramma.

Het hulpprogramma gebruiken om het stuurprogramma te installeren

In deze sectie wordt beschreven hoe u het vereiste driver installeert. Het proces omvat het uitvoeren van een script dat automatisch het vereiste driver downloadt, installeert en configureert. U kunt indien nodig ook scripts uitvoeren om het driver bij te werken en verwijderen.

  • Controleer of Python 3.6 of hoger is geïnstalleerd op de Gegevensverplaatsing-gatewayserver.

    Python is al geïnstalleerd op de meeste Linux-distributies. U kunt controleren welke Python-versie is geïnstalleerd op uw systeem door de volgende opdracht uit te voeren:

    python3 --version

Ga als volgt te werk om het driverte downloaden en installeren:

  1. Op de Gegevensverplaatsing-gatewaymachine wijzigt u de werkdirectory in:

    opt/qlik/gateway/movement/drivers/bin

  2. Voer dan de volgende opdracht uit:

    Syntaxis:

    ./install postgres

    Als het driver niet kan worden gedownload (vanwege toegangsbeperkingen of technische problemen), wordt er een melding getoond met de instructies voor het downloaden van het driver en waarnaar u het moet kopiëren op de Gegevensverplaatsing-gatewaymachine. Nadat u dit hebt gedaan, voert u de opdracht install postgres nogmaals uit.

    Anders wordt de gebruiksrechtovereenkomst voor het driver getoond.

  3. Voer een van de volgende handelingen uit:

    • Druk herhaaldelijk op [Enter] om langzaam door de gebruiksrechtovereenkomst te scrollen.
    • Druk herhaaldelijk op de spatiebalk om snel door de gebruiksrechtovereenkomst te scrollen.
    • Druk op q om de licentietekst af te sluiten en de opties te tonen voor het aanvaarden van de gebruiksrechtovereenkomst.
  4. Voer een van de volgende handelingen uit:

    • Typ "y" en druk op [Enter] om de gebruiksrechtovereenkomst te accepteren en de installatie te starten.
    • Typ "n" en druk op [Enter] om de gebruiksrechtovereenkomst af te wijzen en de installatie af te sluiten.
    • Typ "v" en druk op [Enter] om de gebruiksrechtovereenkomst nogmaals te tonen.

  5. Het driver wordt geïnstalleerd.

Voer de update-opdracht uit als u eerdere versies van het driver wilt verwijderen voordat u het meegeleverde driver installeert.

Ga als volgt te werk om het driver te downloaden en bij te werken:

  1. Op de Gegevensverplaatsing-gatewaymachine wijzigt u de werkdirectory in:

    opt/qlik/gateway/movement/drivers/bin

  2. Voer dan de volgende opdracht uit:

    Syntaxis:

    ./update postgres

    Als het driver niet kan worden gedownload (vanwege toegangsbeperkingen of technische problemen), wordt er een melding getoond met de instructies voor het downloaden van het driver en waarnaar u het moet kopiëren op de Gegevensverplaatsing-gatewaymachine. Nadat u dit hebt gedaan, voert u de opdracht update postgres nogmaals uit.

    Anders wordt de gebruiksrechtovereenkomst voor het driver getoond.

  3. Voer een van de volgende handelingen uit:

    • Druk herhaaldelijk op [Enter] om langzaam door de gebruiksrechtovereenkomst te scrollen.
    • Druk herhaaldelijk op de spatiebalk om snel door de gebruiksrechtovereenkomst te scrollen.
    • Druk op q om de licentietekst af te sluiten en de opties te tonen voor het aanvaarden van de gebruiksrechtovereenkomst.
  4. Voer een van de volgende handelingen uit:

    • Typ "y" en druk op [Enter] om de gebruiksrechtovereenkomst te accepteren en de installatie te starten.
    • Typ "n" en druk op [Enter] om de gebruiksrechtovereenkomst af te wijzen en de installatie af te sluiten.
    • Typ "v" en druk op [Enter] om de gebruiksrechtovereenkomst nogmaals vanaf het begin te tonen.
  5. Het oude driver wordt verwijderd en het nieuwe driver wordt geïnstalleerd.

Voer de uninstall-opdracht uit als u het driver wilt verwijderen.

Ga als volgt te werken om het driver te verwijderen:

  1. Stop alle taken die zijn geconfigureerd om deze connector te gebruiken.

  2. Op de Gegevensverplaatsing-gatewaymachine wijzigt u de werkdirectory in:

    opt/qlik/gateway/movement/drivers/bin

  3. Voer dan de volgende opdracht uit:

    Syntaxis:

    ./uninstall postgres

    driver wordt verwijderd.

De stuurprogramma's en bibliotheken handmatig installeren

U moet het driver alleen handmatig uitvoeren als de geautomatiseerde installatie van het stuurprogramma niet is voltooid.

Nadat Gateway voor gegevensverplaatsing is geïnstalleerd, downloadt u de volgende RPM-bestanden. U vindt directe downloadlinks voor de bestanden onder binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/postgres.yaml. Nadat de download is voltooid, kopieert u de bestanden naar de machine met de Gateway voor gegevensverplaatsing.

Als Gateway voor gegevensverplaatsing is geïnstalleerd op 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.

Als Gateway voor gegevensverplaatsing is geïnstalleerd op 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

 

Open op de Data Movement gateway-server een opdrachtregel en doe het volgende:

  1. Stop de Data Movement gateway-service:

    sudo systemctl stop repagent

  2. Bevestig eventueel dat de service is gestopt:

    sudo systemctl status repagent

    De status zou als volgt moeten zijn:

    Active: inactive (dead) since <timestamp> ago

  3. Installeer de RPM-bestanden.

  4. Wijzig de werkmap in <Data Movement gateway-Install-Dir>/bin.

  5. Kopieer de locatie van het stuurprogramma als volgt naar het site_arep_login.sh-bestand:

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh

    Hiermee wordt het stuurprogramma toevoegd aan "LD_LIBRARY_PATH" en wordt de locatie van het stuurprogramma bijgewerkt in het site_arep_login.sh-bestand.

  6. Bevestig eventueel dat de locatie van stuurpogramma is gekopieerd:

    cat site_arep_login.sh
  7. Zorg ervoor dat het /etc/odbcinst.ini-bestand een vermelding voor PostgreSQL bevat, zoals in het volgende voorbeeld:

    [PostgreSQL]

    Description = PostgreSQL ODBC driver

    Driver = /usr/pgsql-13/lib/psqlodbc.so

    Setup = /usr/pgsql-13/lib/psqlodbcw.so

    UsageCount = 1

  8. Start de Data Movement gateway-service:

    sudo systemctl start repagent

  9. Bevestig eventueel dat de service is gestart:

    sudo systemctl status repagent

    De status zou als volgt moeten zijn:

    Active: active (running) since <timestamp> ago

Beperkingen en overwegingen

De volgende beperkingen gelden bij gebruik van PostgreSQL als een replicatiedoel:

  • UPDATE- en DELETE-bewerkingen in tabellen zonder een primaire sleutel/unieke index die dubbele records bevatten, worden niet ondersteund. Wijzigingen in deze tabellen zijn van invloed op alle records in de target.
  • Tabellen met een LOB-kolom in de sleutel worden niet ondersteund in de modus Batchgewijs optimaliseren toepassen. Als een VARBINARY-kolom wordt gebruikt als een brontabelsleutel, wordt er een BYTEA-kolom gemaakt in het doel. Hierdoor ontstaat er onvoorspelbaar gedrag in de modus Batchgewijs optimaliseren toepassen. We raden aan om in plaats daarvan de SQLite HEX-functie te gebruiken om VARBINARY te converteren naar VARCHAR.

Gegevenstypen

Informatie in eigen gegevenstypen wordt behouden en wordt weergegeven in de kolom Eigen gegevenstype in weergaven van gegevensverzamelingen. Als de kolom niet zichtbaar is, moet u de kolomkiezer van de weergave van de gegevensverzameling openen en de kolom Eigen gegevenstype selecteren.

Gegevenstypen
Gegevenstypen Qlik Cloud PostgreSQL-gegevenstypen

BOOL

BOOL

BYTES

BYTEA

DATE

DATE

TIME

TIME

DATETIME

Als schaal => 0 en =< 6 is, dan:

TIMESTAMP

Als schaal => 7 en =< 12 is, dan:

VARCHAR (37)

INT1

SMALLINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

DECIMAL (P, S)

REAL4

FLOAT4

REAL8

FLOAT8

STRING

Als lengte 1 - 21845 is, dan:

VARCHAR (lengte in bytes = de STRING-waarde vermenigvuldigd met drie)

Als lengte 21846 - 2147483647 is, dan:

VARCHAR (65535)

UINT1

SMALLINT

UINT2

INTEGER

UINT4

BIGINT

UINT8

BIGINT

WSTRING

Als lengte 1 - 21845 is, dan:

VARCHAR (lengte in bytes = de WSTRING-waarde vermenigvuldigd met drie)

Als lengte 21846 - 2147483647 is, dan:

VARCHAR (65535)

BLOB

BYTEA

NCLOB

TEXT

CLOB

TEXT

Gegevenstypen bij het repliceren vanuit een PostgreSQL-bron

Bij het repliceren vanuit een PostgreSQL-bron, wordt de doeltabel gemaakt met dezelfde gegevenstypen voor alle kolommen, los van de kolommen met door de gebruiker gedefinieerde of PostGIS-gegevenstypen. In dergelijke gevallen wordt het gegevenstype gemaakt als "tekenvariërend" in het doel.

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!