# Ograniczenia i uwagi

Korzystając ze źródła PostgreSQL, należy pamiętać o następujących ograniczeniach i uwagach:

## Ograniczenia i uwagi dotyczące wszystkich zadań danych

* Nazwa bazy danych nie może zawierać średnika (;).

* Nie jest obsługiwane przechwytywanie danych w czasie, gdy baza danych jest w trybie Hot Standby.

* Operacja Przenoszenie na wielu tabelach z taką samą nazwą, ale inną wielkością liter (np. `table1`, `TABLE1` i `Table1`) może spowodować nieprzewidywalne zachowanie, więc nie jest obsługiwana.

* Replika odczytu PostgreSQL (w środowisku wysokiej dostępności) jest obsługiwana dopiero od wersji PostgreSQL 16.

* Przetwarzanie zmian operacji TRUNCATE nie jest obsługiwane.

* Odroczone ograniczenia nie są obsługiwane.

* Unikatowe indeksy z wyrażeniami CASE nie są obsługiwane.

## Ograniczenia i uwagi dotyczące tylko zadań umieszczania

* Tabele podzielone na partycje nie są obsługiwane.
* Wymuszone przełączanie awaryjne jest funkcją Azure Database for PostgreSQL – Flexible Server. Jeśli wymuszone przełączenie awaryjne nastąpi podczas operacji Przenoszenie na danych z Azure Database for PostgreSQL — Flexible Server, zadanie zostanie zatrzymane i zestawy danych będą musiały zostać odtworzone.

## Ograniczenia i uwagi dotyczące zadań replikacji i umieszczania

* Obsługa REPLICA IDENTITY:

  * Jeśli użyta zostanie opcja FULL, wartości obrazu przed zostaną zreplikowane dla wszystkich kolumn tabeli. Tylko w tym trybie możliwa jest zmiana definicji indeksu docelowego.

  * W przypadku użycia opcji DEFAULT replikacja jest obsługiwana tylko wtedy, gdy tabela zawiera klucz główny. Dodatkowo będą replikowane tylko kolumny klucza głównego obrazu „przed”.

  * USING INDEX jest obsługiwane tylko wtedy, gdy określony unikatowy indeks jest jedynym unikatowym ograniczeniem dla tabeli (co oznacza, że tabela nie ma klucza głównego ani innego unikatowego indeksu). W tym przypadku obsługa jest taka sama jak w przypadku opcji DEFAULT opisanej powyżej.

  * Ponieważ Qlik Talend Data Integration nie weryfikuje wartości REPLICA IDENTITY, pamiętaj, aby zdefiniować poprawną wartość.

* Opcja uruchomienia „Start Process Changes from Timestamp” (Rozpocznij przetwarzać zmiany na podstawie znacznika czasu) nie jest obsługiwana.

* Przetwarzanie zmian instrukcji DDL [CREATE | ALTER | DROP] względem tabel jest obsługiwane, chyba że są zawarte w wewnętrznym bloku treści funkcji/procedury lub w innych konstrukcjach zagnieżdżonych.

  Nie zostanie przechwycona na przykład następująca zmiana:

  `CREATE OR REPLACE FUNCTION attu.create_distributors1() RETURNS void`

  `LANGUAGE plpgsql`

  `AS $$`

  `BEGIN`

  `       create table attu.distributors1(did    serial PRIMARY KEY,name   varchar(40) NOT NULL); `

  `END;`

  `$$;`

* Operacja UPDATE obejmująca dwie partycje (przenoszenie rekordu między partycjami) zostanie replikowana do tabeli docelowej przy użyciu operacji DELETE i INSERT. Jeśli tryb replikacji Store Changes jest włączony, UPDATE pojawi się jako oddzielne operacje INSERT i DELETE w odpowiedniej tabeli zmian.

* W przypadku korzystania z funkcji [Ładowanie równoległe](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/Table-settings-replication.htm) segmentacja tabeli zgodnie z partycjami lub partycjami podrzędnymi nie jest obsługiwana.

* Podczas przechwytywania zmian w tabelach źródłowych operacja RENAME TABLE zostanie przechwycona tylko wtedy, gdy zostanie poprzedzona operacją DML.

* Typy danych PostGIS nie są obsługiwane.

* Wymuszone przełączanie awaryjne jest funkcją Azure Database for PostgreSQL – Flexible Server. Jeśli wymuszone przełączenie awaryjne nastąpi podczas operacji Przenoszenie na danych z Azure Database for PostgreSQL — Flexible Server, zadanie zostanie zatrzymane i trzeba będzie je przeładować.

* Polecenie SQL MERGE wprowadzone w PostgreSQL 15.x nie zostało certyfikowane.

## Nieobsługiwane typy danych

Następujące typy danych nie są obsługiwane:

* PostGIS

* INT4MULTIRANGE

* INT8MULTIRANGE

* NUMMULTIRANGE

* TSMULTIRANGE