Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

PostgreSQL

In diesem Abschnitt wird erläutert, wie die Verbindung zu einem PostgreSQL-Ziel anhand des PostgreSQL-Ziel-Konnektors konfiguriert wird. PostgreSQL kann nur als Ziel in einer Replikationsaufgabe verwendet werden. Bevor Sie eine Verbindung mit einem PostgreSQL-Ziel herstellen können, müssen Sie die Erforderliche Berechtigungen in der Datenbank konfigurieren. Wenn Sie eine Verbindung zu PostgreSQL über Data Movement Gateway herstellen, müssen Sie auch den Treiber wie in Treibereinrichtung beschrieben installieren.

Weitere Informationen zu den Einschränkungen und Überlegungen bei der Verwendung des PostgreSQL-Konnektors finden Sie unter Einschränkungen und Überlegungen.

Einrichten von Verbindungseigenschaften

Dieser Abschnitt beschreibt die verfügbaren Verbindungseigenschaften. Alle Eigenschaften sind erforderlich, soweit nicht anders angegeben.

Datenziel

  • Daten-Gateway: Wählen Sie das Data Movement Gateway aus, das zum Testen der Verbindung zum PostgreSQL-Ziel verwendet wird. Dabei muss es sich um das gleiche Gateway wie für den Zugriff auf die Datenquelle handeln.

    Informationshinweis
    • Erfordert Data Movement Gateway 2023.5.10 oder höher.
    • Sie müssen auch den entsprechenden Treiber auf dem Data Movement Gateway-Rechner installieren. Weitere Einzelheiten finden Sie unter Treibereinrichtung unten.

  • Cloudanbieter: Wählen Sie wie zutreffend eine der folgenden Optionen aus:

      • PostgreSQL lokal
      • Amazon Aurora
      • Azure Database for PostgreSQL - Flexibler Server.
    • Für Amazon RDS for PostgreSQL

      • Google Cloud SQL for PostgreSQL
      • Google Cloud AlloyDB for PostgreSQL
    • Für Microsoft Azure Database for PostgreSQL

  • Host: Hostname oder IP-Adresse des Computers, auf dem die PostgreSQL-Datenbank installiert ist.

  • Port: Der Port, der bei der Verbindung zur Datenbank verwendet werden soll. Der Standardwert ist 5432.

Kontoeigenschaften

Benutzername und Kennwort: Benutzername und Kennwort eines Benutzers, der zum Zugriff auf die PostgreSQL Server-Datenbank berechtigt ist.

Datenbankeigenschaften

  • Datenbankname: Es gibt zwei Methoden zum Angeben einer Datenbank:

    • Methode 1 – Aus einer Liste auswählen: Klicken Sie auf Datenbanken laden und wählen Sie dann eine Datenbank aus.
    • Methode 2 – Manuell: Wählen Sie Datenbanknamen manuell eingeben aus und geben Sie dann den Datenbanknamen ein.
  • SSL-Modus: Wählen Sie eine der folgenden Optionen aus:
    • disable: Stellen Sie nur mit einem Nachnamen und einem Kennwort eine Verbindung her.
    • allow: Richten Sie eine verschlüsselte Verbindung ein, wenn dies vom Server angefordert wird.
    • prefer: Dies ist die Standardeinstellung. Sie stellt eine verschlüsselte Verbindung her, wenn der Server verschlüsselte Verbindungen unterstützt, und greift auf eine unverschlüsselte Verbindung zurück, wenn keine verschlüsselte Verbindung hergestellt werden kann.
    • require: Stellt eine verschlüsselte Verbindung her, wenn der Server verschlüsselte Verbindungen unterstützt. Die Verbindungsversuch schlägt fehl, wenn eine verschlüsselte Verbindung nicht hergestellt werden kann.
    • verify-ca: Ähnlich wie Required, jedoch wird auch das Zertifikat der Server-Zertifizierungsstelle (ZS) im Vergleich zu den konfigurierten ZS-Zertifikaten verifiziert. Der Verbindungsversuch schlägt fehl, wenn keine gültigen und passenden ZS-Zertifikate gefunden werden.
    • verify-full: Ähnlich wie Verify CA, jedoch wird auch eine Verifizierung der Identität des Hostnamens durchgeführt, indem der Hostname, den der Client (also Data Movement Gateway) für die Herstellung der Verbindung zum Server verwendet, mit der Identität im Zertifikat, das der Server an den Client übermittelt, abgeglichen wird. Der Client überprüft, ob der Hostname, den er für die Verbindung benutzt, mit dem Wert „Allgemeiner Name“ im Serverzertifikat übereinstimmt. Die Verbindung schlägt fehl, wenn keine Übereinstimmung festgestellt wird.
  • Vertrauenswürdiges Zertifikat: Die Zertifizierungsstelle (ZS), die die Clientzertifikat-Datei im PEM-Format ausgestellt hat.
  • Clientzertifikat: Laden Sie das vom Server angeforderte Clientzertifikat hoch.
  • Clientzertifikatschlüssel: Die private Clientschlüsseldatei im PEM-Format.
  • CRL: Das CRL-Zertifikat. Diese Datei enthält Zertifikate, die von Zertifizierungsstellen widerrufen wurden. Falls das Serverzertifikat in dieser Liste aufgeführt ist, schlägt die Verbindung fehl.
  • SSL-Komprimierung: Wählen Sie diese Option aus, um die Daten vor der Verschlüsselung zu komprimieren.
  • Maximale Dateigröße (KB): Wählen Sie die maximale Größe (in KB) einer CSV-Datei aus bzw. geben Sie sie ein, bevor sie in die PostgreSQL-Zieldatenbank geladen wird. Der Standardwert ist 32000 KB.

Interne Eigenschaften

Interne Eigenschaften sind für besondere Anwendungsfälle vorgesehen und werden daher nicht im Dialogfenster angezeigt. Sie sollten sie nur verwenden, wenn Sie vom Qlik Support dazu angewiesen werden.

Verwenden Sie die Schaltflächen Neu erstellen und Abbrechen rechts neben den Feldern, um Eigenschaften wie erforderlich hinzuzufügen oder zu entfernen.

Name

Der Anzeigename für die Verbindung.

Voraussetzungen

Erforderliche Berechtigungen

Der in den Konnektoreinstellungen angegebene Benutzer muss ein registrierter Benutzer in der PostgreSQL-Datenbank sein.

Zusätzlich müssen die folgenden Berechtigungen gewährt werden:

  • Kann sich anmelden
  • Datenbanken erstellen
InformationshinweisWenn das Zielschema bereits in der Datenbank vorhanden ist, ist die Berechtigung „Datenbanken erstellen“ nicht erforderlich.

Treibereinrichtung

Sie können den driver mit dem Treiberinstallations-Dienstprogramm (empfohlen) oder manuell installieren. Eine manuelle Installation sollte nur in dem unwahrscheinlichen Fall versucht werden, dass Sie beim Verwenden des Treiberinstallations-Dienstprogramms auf Probleme stoßen.

Verwenden des Treiberinstallations-Dienstprogramms zum Installieren des Treibers

In diesem Abschnitt wird die Installation des erforderlichen driver beschrieben. Der Prozess umfasst das Ausführen eines Skripts, das den erforderlichen driver automatisch herunterlädt, installiert und konfiguriert. Sie können auch Skripte ausführen, um den driver bei Bedarf zu aktualisieren und zu deinstallieren.

  • Vergewissern Sie sich, dass Python 3.6 oder höher auf dem Data Movement-Gateway-Server installiert ist.

    Python ist in den meisten Linux-Distributionen vorinstalliert. Führen Sie den folgenden Befehl aus, um zu prüfen, welche Python-Version auf Ihrem System installiert ist.

    python3 --version

So laden Sie den driver herunter und installieren ihn:

  1. Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:

    opt/qlik/gateway/movement/drivers/bin

  2. Führen Sie den folgenden Befehl aus:

    Syntax:

    ./install postgres

    Wenn der driver (aufgrund von Zugriffsbeschränkungen oder technischen Fehlern) nicht heruntergeladen werden kann, wird eine Meldung mit Anleitungen dazu angezeigt, wo Sie den driver herunterladen können und wohin er im Data Movement-Gateway-Computer kopiert werden muss. Führen Sie dann den Befehl install postgres erneut aus.

    Andernfalls wird die Endbenutzer-Lizenzvereinbarung für den driver angezeigt.

  3. Gehen Sie folgendermaßen vor:

    • Drücken Sie mehrmals die [Eingabetaste], um langsam durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
    • Drücken Sie mehrmals die Leertaste, um schnell durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
    • Drücken Sie q, um den Lizenztext zu schließen und die Optionen zum Akzeptieren der Endbenutzer-Lizenzvereinbarung anzuzeigen.
  4. Gehen Sie folgendermaßen vor:

    • Geben Sie „y“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung zu akzeptieren und mit der Installation zu beginnen.
    • Geben Sie „n“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung abzulehnen und den Installationsvorgang abzubrechen.
    • Geben Sie „v“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung erneut anzuzeigen.

  5. Der driver wird installiert.

Führen Sie den Befehl „update“ aus, wenn Sie vorherige Versionen des driver deinstallieren möchten, bevor Sie den bereitgestellten driver installieren.

So laden Sie den driver herunter und aktualisieren ihn:

  1. Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:

    opt/qlik/gateway/movement/drivers/bin

  2. Führen Sie den folgenden Befehl aus:

    Syntax:

    ./update postgres

    Wenn der driver (aufgrund von Zugriffsbeschränkungen oder technischen Fehlern) nicht heruntergeladen werden kann, wird eine Meldung mit Anleitungen dazu angezeigt, wo Sie den driver herunterladen können und wohin er im Data Movement-Gateway-Computer kopiert werden muss. Führen Sie dann den Befehl update postgres erneut aus.

    Andernfalls wird die Endbenutzer-Lizenzvereinbarung für den driver angezeigt.

  3. Gehen Sie folgendermaßen vor:

    • Drücken Sie mehrmals die [Eingabetaste], um langsam durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
    • Drücken Sie mehrmals die Leertaste, um schnell durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
    • Drücken Sie q, um den Lizenztext zu schließen und die Optionen zum Akzeptieren der Endbenutzer-Lizenzvereinbarung anzuzeigen.
  4. Gehen Sie folgendermaßen vor:

    • Geben Sie „y“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung zu akzeptieren und mit der Installation zu beginnen.
    • Geben Sie „n“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung abzulehnen und den Installationsvorgang abzubrechen.
    • Geben Sie „v“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung von Anfang an anzuzeigen.
  5. Der alte driver wird deinstalliert und der neue driver installiert.

Führen Sie den Befehl „uninstall“ aus, wenn Sie den driver deinstallieren möchten.

So deinstallieren Sie den driver:

  1. Halten Sie alle Aufgaben an, die für die Verwendung dieses Konnektors konfiguriert sind.

  2. Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:

    opt/qlik/gateway/movement/drivers/bin

  3. Führen Sie den folgenden Befehl aus:

    Syntax:

    ./uninstall postgres

    Der driver wird deinstalliert.

Manuelles Installieren der Treiber und Bibliotheken

Nehmen Sie nur dann eine manuelle Installation des driver vor, wenn die automatische Treiberinstallation nicht erfolgreich abgeschlossen werden konnte.

Laden Sie nach der Installation von Data Movement Gateway die folgenden RPM-Dateien herunter. Direkte Download-Links für die Dateien finden Sie unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/postgres.yaml. Kopieren Sie nach Abschluss des Downloads die Dateien auf den Data Movement Gateway-Rechner.

Wenn Data Movement Gateway unter Red Hat 9.x installiert ist:

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

Wenn Data Movement Gateway unter Red Hat 8.x installiert ist:

  • 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

 

Öffnen Sie auf dem Data Movement Gateway-Server eine Shell-Eingabeaufforderung und führen Sie Folgendes durch:

  1. Halten Sie den Data Movement Gateway-Dienst an:

    sudo systemctl stop repagent

  2. Bestätigen Sie optional, dass der Dienst angehalten wurde:

    sudo systemctl status repagent

    Der Status lautet wie folgt:

    Active: inactive (dead) since <timestamp> ago

  3. Installieren Sie die RPM-Dateien.

  4. Ändern Sie das Arbeitsverzeichnis in <Data Movement Gateway-Install_Dir>/bin.

  5. Kopieren Sie den Treiberspeicherort wie folgt in die Datei site_arep_login.sh:

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

    Dadurch wird der Treiber zu „LD_LIBRARY_PATH“ hinzugefügt und der Treiberspeicherort in der Datei site_arep_login.sh aktualisiert.

  6. Bestätigen Sie optional, dass der Speicherort des Treibers kopiert wurde:

    cat site_arep_login.sh
  7. Stellen Sie sicher, dass die Datei /etc/odbcinst.ini einen Eintrag für PostgreSQL enthält, wie im folgenden Beispiel gezeigt:

    [PostgreSQL]

    Description = PostgreSQL ODBC driver

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

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

    UsageCount = 1

  8. Starten Sie den Data Movement Gateway-Dienst:

    sudo systemctl start repagent

  9. Bestätigen Sie optional, dass der Dienst gestartet wurde:

    sudo systemctl status repagent

    Der Status lautet wie folgt:

    Active: active (running) since <timestamp> ago

Einschränkungen und Überlegungen

Die folgenden Einschränkungen gelten, wenn PostgreQL als Replikationsziel verwendet wird:

  • UPDATE- und DELETE-Vorgänge in Tabellen ohne Primärschlüssel/eindeutigen Index, die duplizierte Datensätze enthalten, werden nicht unterstützt. Alle Änderungen an diesen Tabellen wirken sich auf alle Datensätze im Ziel aus.
  • Tabellen mit einer LOB-Spalte im Schlüssel werden im stapeloptimierten Anwendungsmodus nicht unterstützt. Wenn eine VARBINARY-Spalte als Quelltabellenschlüssel verwendet wird, wird eine BYTEA-Spalte im Ziel erstellt. Dies führt zu unvorhersehbarem Verhalten im stapeloptimierten Anwendungsmodus. Als Problemumgehung wird empfohlen, die SQLite HEX-Funktion zu verwenden, um VARBINARY in VARCHAR zu konvertieren.

Datentypen

Informationen zum nativen Datentyp werden beibehalten und in der Spalte Nativer Datentyp in Datensatzansichten angezeigt. Wenn die Spalte nicht angezeigt wird, müssen Sie die Spaltenauswahl in der Datensatzansicht öffnen und die Spalte Nativer Datentyp auswählen.

Datentypen
Qlik Cloud-Datentypen PostgreSQL-Datentypen

BOOL

BOOL

BYTES

BYTEA

DATE

DATE

TIME

TIME

DATETIME

Wenn Dezimalstellen => 0 und =< 6, dann:

TIMESTAMP

Wenn Dezimalstellen => 7 und =< 12, dann:

VARCHAR (37)

INT1

SMALLINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

DECIMAL (P, S)

REAL4

FLOAT4

REAL8

FLOAT8

STRING

Wenn Länge 1 - 21845, dann:

VARCHAR (Länge in Byte = der STRING-Wert multipliziert mit drei)

Wenn Länge 21846 - 2147483647, dann:

VARCHAR (65535)

UINT1

SMALLINT

UINT2

INTEGER

UINT4

BIGINT

UINT8

BIGINT

WSTRING

Wenn Länge 1 - 21845, dann:

VARCHAR (Länge in Byte = der WSTRING-Wert multipliziert mit drei)

Wenn Länge 21846 - 2147483647, dann:

VARCHAR (65535)

BLOB

BYTEA

NCLOB

TEXT

CLOB

TEXT

Datentypen beim Replizieren aus einer PostgreSQL-Quelle

Wenn von einer PostgreSQL-Quelle repliziert wird, wird die Zieltabelle mit den gleichen Datentypen für alle Spalten erstellt, abgesehen von Spalten mit benutzerdefinierten oder PostGIS-Datentypen. In diesen Fällen wird der Datentyp als „Zeichen variierend“ im Ziel erstellt.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!