Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

PostgreSQL

W tej sekcji wyjaśniono, jak skonfigurować łączność z miejscem docelowym PostgreSQL przy użyciu łącznika PostgreSQL Target. PostgreSQL może być miejscem docelowym tylko w zadaniu replikacji. Zanim będzie można się połączyć z miejscem docelowym PostgreSQL, należy skonfigurować Wymagane uprawnienia w bazie danych. Jeśli łączysz się z PostgreSQL przez Brama danych ruchu danych, musisz również zainstalować sterownik zgodnie z opisem w Konfiguracja sterowników.

Aby uzyskać informacje o ograniczeniach i kwestiach do uwzględnienia w związku z używaniem łącznika PostgreSQL, zobacz temat Ograniczenia i uwagi.

Konfiguracja właściwości połączenia

W tej sekcji opisano dostępne właściwości połączenia. Wszystkie właściwości są wymagane, chyba że zaznaczono inaczej.

Miejsce docelowe danych

  • Brama danych: Wybierz bramę Brama danych ruchu danych, która będzie używana do testowania połączenia z miejscem docelowym PostgreSQL. Powinna to być ta sama brama, która została użyta do uzyskania dostępu do źródła danych.

    Informacja
    • Wymaga bramy Brama danych ruchu danych w wersji 2023.5.10 lub nowszej.
    • Należy też zainstalować odpowiedni sterownik na urządzeniu z Brama danych ruchu danych. Szczegółowe informacje zawiera temat Konfiguracja sterowników poniżej.

  • Dostawca usługi w chmurze: Wybierz jedną z następujących opcji:

      • PostgreSQL lokalnie
      • Amazon Aurora
      • Azure Database for PostgreSQL - Flexible Server.
    • W przypadku Amazon RDS for PostgreSQL.

      • Google Cloud SQL for PostgreSQL
      • Google Cloud AlloyDB for PostgreSQL
    • W przypadku Microsoft Azure Database for PostgreSQL.

  • Host: Nazwa hosta lub adres IP komputera, na którym zainstalowana jest baza danych PostgreSQL.

  • Port: Port używany do łączenia się z bazą danych. Wartością domyślną jest 5432.

Właściwości konta

User Name i Password: Nazwa użytkownika i hasło użytkownika uprawnionego do dostępu do bazy PostgreSQL Server.

Właściwości bazy danych

  • Nazwa bazy danych: istnieją dwie metody określania bazy danych:

    • Metoda 1 — wybór z listy: Kliknij Load databases, a następnie wybierz bazę danych.
    • Metoda 2 — ręcznie: Wybierz pozycję Wprowadź nazwę bazy danych ręcznie, a następnie wprowadź nazwę bazy danych.
  • SSL Mode (Tryb SSL): wybierz jedną z następujących opcji:
    • disable — połączenie tylko przy użyciu nazwiska i hasła.
    • allow — nawiąż szyfrowane połączenie, jeśli zażąda go serwer.
    • prefer — jest to ustawienie domyślne. Ustanawia połączenie szyfrowane, gdy serwer obsługuje połączenia szyfrowane, albo połączenie nieszyfrowane, jeśli nie można nawiązać połączenia szyfrowanego.
    • require — ustanawia połączenie szyfrowane, gdy serwer obsługuje połączenia szyfrowane. Jeśli nie można nawiązać połączenia szyfrowanego, próba połączenia się nie uda.
    • verify-ca — opcja podobna do require, ale dodatkowo weryfikuje certyfikat urzędu certyfikacji (CA) serwera względem skonfigurowanych certyfikatów CA. Jeśli nie zostaną znalezione ważne i zgodne certyfikaty urzędu certyfikacji, próba połączenia się nie uda.
    • verify-full — opcja podobna do verify-ca, ale dodatkowo przeprowadza weryfikację tożsamości nazwy hosta przez sprawdzenie nazwy hosta (tj. Brama danych ruchu danych) używanej do połączenia z serwerem względem tożsamości w certyfikacie, który serwer wysyła do klienta. Klient sprawdza, czy nazwa hosta używana do połączenia jest zgodna z wartością nazwy pospolitej (CN) w certyfikacie serwera. Jeśli nazwa jest niezgodna, połączenie się nie uda.
  • Trusted certificate urząd certyfikacji (CA), który wystawił plik certyfikatu klienta w formacie PEM.
  • Client certificate: prześlij certyfikat klienta żądany przez serwer.
  • Client certificate key: plik klucza prywatnego klienta w formacie PEM.
  • CRL: certyfikat CRL. Ten plik zawiera certyfikaty odwołane przez urzędy certyfikacji. Jeśli certyfikat serwera występuje na tej liście, połączenie się nie uda.
  • SSL compression (Kompresja SSL): zaznacz tę opcję, aby kompresować dane przed zaszyfrowaniem.
  • Maksymalny rozmiar pliku (KB): Wybierz lub wpisz maksymalny rozmiar (w KB) pliku CSV, zanim zostanie załadowany do docelowej bazy danych PostgreSQL. Wartość domyślna wynosi 32000 KB.

Właściwości wewnętrzne

Właściwości wewnętrzne są przeznaczone dla specjalnych przypadków, w związku z czym nie są ukazywane w oknie dialogowym. Należy ich używać tylko na polecenie Qlik Pomocy technicznej.

Użyj przycisków Utwórz nowy i Anuluj znajdujących się po prawej stronie pól, aby dodać lub usunąć właściwości zgodnie z potrzebą.

Nazwa

Nazwa wyświetlana dla połączenia.

Wymagania wstępne

Wymagane uprawnienia

Użytkownik określony w ustawieniach łącznika musi być zarejestrowanym użytkownikiem w bazie danych PostgreSQL.

Ponadto należy przyznać następujące uprawnienia:

  • Może się logować
  • Tworzenie baz danych
InformacjaJeżeli schemat docelowy już istnieje w bazie danych, uprawnienie „Tworzenie baz danych” nie jest wymagane.

Konfiguracja sterowników

Sterownik driver można zainstalować za pomocą Narzędzia do instalacji sterowników (zalecane) lub ręcznie. Instalacji ręcznej należy próbować tylko w mało prawdopodobnym przypadku wystąpienia problemu z Narzędziem do instalacji sterowników.

Używanie Narzędzia do instalacji sterowników w celu instalacji sterownika

W tej sekcji opisano, jak zainstalować wymagany driver. Proces ten obejmuje uruchomienie skryptu, który automatycznie pobierze, zainstaluje i skonfiguruje wymagany driver. W razie potrzeby można także uruchamiać skrypty, aby zaktualizować i odinstalować driver.

  • Na serwerze bramy Ruch danych musi być zainstalowane środowisko Python 3.6 lub nowsze.

    Środowisko Python jest preinstalowane w większości dystrybucji systemu Linux. Aby sprawdzić, która wersja środowiska Pythona jest zainstalowana w Twoim systemie, uruchom następujące polecenie:

    python3 --version

Aby pobrać i zainstalować driver:

  1. Na urządzenie bramy Ruch danych zmień katalog roboczy na:

    opt/qlik/gateway/movement/drivers/bin

  2. Wykonaj następujące polecenie:

    Składnia:

    ./install postgres

    Jeśli driver nie może zostać pobrany (ze względu na ograniczenia dostępu lub problemy techniczne), zostanie wyświetlony komunikat informujący, skąd pobrać driver i dokąd go skopiować na urządzenie bramy Ruch danych. Po wykonaniu tej czynności ponownie uruchom polecenie install postgres.

    W przeciwnym razie zostanie wyświetlona umowa licencyjna dotycząca driver.

  3. Wykonaj jedną z poniższych czynności:

    • Naciśnij klawisz [Enter] wielokrotnie, aby powoli przewinąć treść umowy licencyjnej.
    • Naciśnij klawisz spacji wielokrotnie, aby szybko przewinąć treść umowy licencyjnej.
    • Naciśnij klawisz „q”, aby zamknąć tekst umowy licencyjnej i wyświetlić opcje jej akceptacji.
  4. Wykonaj jedną z poniższych czynności:

    • Wpisz „y” i naciśnij klawisz [Enter], aby zaakceptować umowę licencyjną i rozpocząć instalację.
    • Wpisz „n” i naciśnij klawisz [Enter], aby odrzucić umowę licencyjną i zakończyć instalację.
    • Wpisz „v” i naciśnij klawisz [Enter], aby ponownie wyświetlić umowę licencyjną.

  5. Zostanie zainstalowany driver.

Uruchom polecenie aktualizacji, jeśli chcesz odinstalować driver w poprzedniej wersji, zanim zainstalujesz dostarczony driver.

Aby pobrać i zaktualizować driver:

  1. Na urządzenie bramy Ruch danych zmień katalog roboczy na:

    opt/qlik/gateway/movement/drivers/bin

  2. Wykonaj następujące polecenie:

    Składnia:

    ./update postgres

    Jeśli driver nie może zostać pobrany (ze względu na ograniczenia dostępu lub problemy techniczne), zostanie wyświetlony komunikat informujący, skąd pobrać driver i dokąd go skopiować na urządzenie bramy Ruch danych. Po wykonaniu tej czynności ponownie uruchom polecenie update postgres.

    W przeciwnym razie zostanie wyświetlona umowa licencyjna dotycząca driver.

  3. Wykonaj jedną z poniższych czynności:

    • Naciśnij klawisz [Enter] wielokrotnie, aby powoli przewinąć treść umowy licencyjnej.
    • Naciśnij klawisz spacji wielokrotnie, aby szybko przewinąć treść umowy licencyjnej.
    • Naciśnij klawisz „q”, aby zamknąć tekst umowy licencyjnej i wyświetlić opcje jej akceptacji.
  4. Wykonaj jedną z poniższych czynności:

    • Wpisz „y” i naciśnij klawisz [Enter], aby zaakceptować umowę licencyjną i rozpocząć instalację.
    • Wpisz „n” i naciśnij klawisz [Enter], aby odrzucić umowę licencyjną i zakończyć instalację.
    • Wpisz „v” i naciśnij klawisz [Enter], aby wyświetlić umowę licencyjną od początku.
  5. Stary driver zostanie odinstalowany, a zainstalowany zostanie nowy driver.

Uruchom polecenie odinstalowania, jeśli chcesz odinstalować driver.

Aby odinstalować driver:

  1. Zatrzymaj wszystkie zadania skonfigurowane do korzystania z tego łącznika.

  2. Na urządzenie bramy Ruch danych zmień katalog roboczy na:

    opt/qlik/gateway/movement/drivers/bin

  3. Wykonaj następujące polecenie:

    Składnia:

    ./uninstall postgres

    Sterownik driverzostanie odinstalowany.

Instalowanie sterowników i bibliotek ręcznie

Sterownik driver należy instalować ręcznie tylko wtedy, gdy automatyczna instalacja nie zakończyła się pomyślnie.

Po zainstalowaniu Brama danych ruchu danych pobierz następujące pliki RPM. Łącza do bezpośredniego pobrania tych plików można znaleźć w sekcji binary-artifacts w pliku /opt/qlik/gateway/movement/drivers/manifests/postgres.yaml. Po zakończeniu pobierania skopiuj pliki na komputer z Brama danych ruchu danych.

Kiedy brama Brama danych ruchu danych jest zainstalowana w systemie Red Hat 9.x:

  • postgresql<wersja>-libs-<wersja>PGDG.rhel9.x86_64.rpm
  • postgresql<wersja>-<wersja>PGDG.rhel8.x86_64.rpm
  • postgresql<wersja>-odbc-<wersja>PGDG.rhel8.x86_64.rpm

Kiedy brama Brama danych ruchu danych jest zainstalowana w systemie 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

 

Na serwerze Brama danych ruchu danych otwórz wiersz poleceń i wykonaj następujące czynności:

  1. Zatrzymaj usługę Brama danych ruchu danych:

    sudo systemctl stop repagent

  2. Opcjonalnie potwierdź, że usługa została zatrzymana:

    sudo systemctl status repagent

    Status powinien być następujący:

    Active: inactive (dead) since <timestamp> ago

  3. Zainstaluj pliki RPM.

  4. Zmień katalog roboczy na <Brama danych ruchu danych-Install-Dir>/bin.

  5. Skopiuj lokalizację sterownika do pliku site_arep_login.sh w następujący sposób:

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

    Spowoduje to dodanie sterownika do "LD_LIBRARY_PATH" i zaktualizuje lokalizację sterownika w pliku site_arep_login.sh.

  6. Opcjonalnie potwierdź, że lokalizacja sterownika została skopiowana:

    cat site_arep_login.sh
  7. Upewnij się, że w pliku /etc/odbcinst.ini znajduje się wpis dotyczący PostgreSQL, jak w poniższym przykładzie:

    [PostgreSQL]

    Description = PostgreSQL ODBC driver

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

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

    UsageCount = 1

  8. Uruchom usługę Brama danych ruchu danych:

    sudo systemctl start repagent

  9. Opcjonalnie potwierdź, że usługa została uruchomiona:

    sudo systemctl status repagent

    Status powinien być następujący:

    Active: active (running) since <timestamp> ago

Ograniczenia i uwagi

W przypadku używania PostgreSQL jako miejsca docelowego replikacji obowiązują następujące ograniczenia:

  • Operacje UPDATE i DELETE na tabelach bez klucza podstawowego/indeksu unikatowego zawierających zduplikowane rekordy są nieobsługiwane. Wszelkie zmiany w tych tabelach będą miały wpływ na wszystkie rekordy w miejscu docelowym.
  • Tabele z kolumną LOB w kluczu nie są obsługiwane w trybie stosowania zoptymalizowanego pod kątem partii. Jeśli jako klucz tabeli źródłowej zostanie użyta kolumna VARBINARY, w miejscu docelowym zostanie utworzona kolumna BYTEA. Powoduje to nieprzewidywalne działanie w trybie stosowania zoptymalizowanego pod kątem partii. Jako obejście proponujemy użycie funkcji SQLite HEX do konwersji VARBINARY na VARCHAR.

Typy danych

Informacje o natywnym typie danych są zachowywane i wyświetlane w widokach zestawu danych w kolumnie Natywny typ danych. Jeśli kolumna nie jest widoczna, otwórz selektor kolumn w widoku zestawu danych i wybierz kolumnę Natywny typ danych.

Typy danych
Typy danych Qlik Cloud Typy danych PostgreSQL

BOOL

BOOL

BYTES

BYTEA

DATE

DATE

TIME

TIME

DATETIME

Jeżeli skala => 0 i =< 6, to:

TIMESTAMP

Jeżeli skala => 7 i =< 12, to:

VARCHAR (37)

INT1

SMALLINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

DECIMAL (P, S)

REAL4

FLOAT4

REAL8

FLOAT8

STRING

Jeżeli długość wynosi 1–21845, to:

VARCHAR (długość w bajtach = wartość STRING pomnożona przez trzy)

Jeżeli długość wynosi 21846–2147483647, to:

VARCHAR (65535)

UINT1

SMALLINT

UINT2

INTEGER

UINT4

BIGINT

UINT8

BIGINT

WSTRING

Jeżeli długość wynosi 1–21845, to:

VARCHAR (długość w bajtach = wartość WSTRING pomnożona przez trzy)

Jeżeli długość wynosi 21846–2147483647, to:

VARCHAR (65535)

BLOB

BYTEA

NCLOB

TEXT

CLOB

TEXT

Typy danych podczas replikacji ze źródła PostgreSQL

Podczas replikacji ze źródła PostgreSQL tabela docelowa zostanie utworzona z tymi samymi typami danych dla wszystkich kolumn, z wyjątkiem kolumn z typami danych zdefiniowanymi przez użytkownika lub PostGIS. W takich przypadkach typ danych zostanie utworzony w celu jako „character varying”.

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!