PostgreSQL
Deze sectie beschrijft hoe u de verbinding met een PostgreSQL-doel moet configureren met behulp van de PostgreSQL-doelconnector. 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
Ga als volgt te werk om de connector te configureren:
-
Klik in Verbindingen op Verbinding maken.
-
Selecteer de PostgreSQL-doelconnector en stel de volgende instellingen in:
Gegevensdoel
-
Gegevensgateway: Bij het werken met Gateway voor gegevensverplaatsing selecteert u de gegevensgateway 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- Dit veld is niet beschikbaar bij een Qlik Talend Cloud Starter-abonnement omdat Gateway voor gegevensverplaatsing niet wordt ondersteund bij dit abonnementsniveau.
-
U moet ook het juiste stuurprogramma installeren op een Gateway voor gegevensverplaatsing-machine. Voor meer informatie raadpleegt u Setup stuurprogramma hieronder.
-
Cloudprovider: kies een van de volgende opties:
-
Geen - Selecteer bij het werken met:
- PostgreSQL on-premises
- Amazon Aurora
- Azure Database for PostgreSQL - Flexibele server
- Nee Gateway voor gegevensverplaatsing
-
Amazon RDS
Voor Amazon RDS for PostgreSQL.
-
Google Cloud - Selecteer bij het werken met:
- Google Cloud SQL for PostgreSQL
- Google Cloud AlloyDB for PostgreSQL
-
Microsoft Azure
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. Qlik Talend Data Integration) 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 en 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
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.
De installatie voorbereiden
-
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
De driver installeren
Ga als volgt te werk om het driverte downloaden en installeren:
-
Op de Gegevensverplaatsing-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
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.
-
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.
-
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.
Het driver wordt geïnstalleerd.
Het driver bijwerken
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:
-
Op de Gegevensverplaatsing-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
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.
-
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.
-
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.
Het oude driver wordt verwijderd en het nieuwe driver wordt geïnstalleerd.
Het driver verwijderen
Voer de uninstall-opdracht uit als u het driver wilt verwijderen.
Ga als volgt te werken om het driver te verwijderen:
-
Stop alle taken die zijn geconfigureerd om deze connector te gebruiken.
-
Op de Gegevensverplaatsing-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
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:
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig eventueel dat de service is gestopt:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
-
Installeer de RPM-bestanden.
-
Wijzig de werkmap in <Data Movement gateway-Install-Dir>/bin.
-
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.
-
Bevestig eventueel dat de locatie van stuurpogramma is gekopieerd:
cat site_arep_login.sh
-
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
-
Start de Data Movement gateway-service:
sudo systemctl start repagent
-
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 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.